问题标签 [numpy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
6535 浏览

python - MATLAB 中的 mrdivide 函数:它在做什么,我如何在 Python 中做到这一点?

我有这行 MATLAB 代码:

我正在使用这些输入:

这是结果(一个 1x25 矩阵):

MATLAB 在做什么?我试图在 Python 中复制这种行为,而mrdivideMATLAB 中的文档没有帮助。5 来自哪里,为什么其余的值都是 0?

我已经尝试使用其他输入并收到类似的结果,通常只是一个不同的第一个元素和零填充矩阵的其余部分。在 Python 中,当我使用 时linalg.lstsq(b.T,a.T),返回的第一个矩阵中的所有值(即不是单数)都是 0.2。我已经在 Python 中尝试过正确的除法,它完全给出了错误尺寸的东西。

我了解最小二乘近似是什么,我只需要知道mrdivide在做什么。

有关的:

0 投票
2 回答
8948 浏览

python - Python中的十进制对齐格式

应该很容易。

这是我的数组(而是一种生成代表性测试数组的方法):

我想要一个字符串列表,其中 '\n'.join(list_o_strings) 将打印:

我想在左侧右侧放置空格(但没有必要)。

如果这就是小数点后的全部内容,我想要小数点后的零。

我不想要科学记数法。

..而且我不想丢失任何有效数字。(在 353.98000000000002 中,2 不重要)

是的,很高兴想要..

Python 2.5's%g, %fx.x等要么让我迷惑,要么做不到。我还没试过import decimal。我也看不到NumPy这样做(尽管array.__str__andarray.__repr__是十进制对齐的(但有时返回科学)。

哦,速度很重要。我在这里处理大数组。

我目前的解决方法是:

  1. 到 str(a) 并解析 NumPy 的括号
  2. 到 str(e) 数组中的每个元素和 split('.') 然后填充和重建
  3. 到 a.astype('S'+str(i)) 其中 i 是 max(len(str(a))),然后填充

似乎应该有一些现成的解决方案......(但不是必需的)

dtype当是 float64时,最佳建议失败:

0 投票
3 回答
12319 浏览

python - SciPy 中的插值:找到产生 Y 的 X

有没有更好的方法来找到哪个X给了我我在 SciPy 中寻找的Y ?我刚开始使用 SciPy,对每个功能都不太熟悉。

0 投票
11 回答
107415 浏览

python - 使用 Python 和 NumPy 的非常大的矩阵

NumPy是一个非常有用的库,通过使用它,我发现它能够轻松处理非常大(10000 x 10000)的矩阵,但开始与任何更大的矩阵作斗争(试图创建一个 50000 x 50000 的矩阵失败)。显然,这是因为大量的内存需求。

有没有办法以某种方式(没有几 TB 的 RAM)在 NumPy 中本地创建巨大的矩阵(比如 100 万乘 100 万)?

0 投票
1 回答
889 浏览

python - 如何使用它的两个视图修改 NumPy.recarray

我是 Python 和 Numpy 的新手,我遇到了一个问题,即在应用于蒙面视图时,我无法修改 numpy.recarray。我从文件中读取recarray,然后创建两个蒙版视图,然后尝试修改for循环中的值。这是一个示例代码。

但是当我打印结果时

文件中的所有 scale_means 仍然为零。

我一定做错了什么。是否有修改视图值的正确方法?是因为我一个一个地应用两个视图吗?

谢谢你。

0 投票
8 回答
23179 浏览

python - 用 Python 代替 MATLAB:如何导入数据?

我想用一些 Python 库来代替 MATLAB。如何在 Python 中导入 Excel 数据(例如使用NumPy)来使用它们?

我不知道 Python 是否是 MATLAB 的可靠替代品,但我想尝试一下。有教程吗

0 投票
6 回答
8668 浏览

python - Python中的标志

我正在使用一个大矩阵(250x250x30 = 1,875,000 个单元格),我想要一种方法来为这个矩阵中的每个单元格设置任意数量的标志,以某种易于使用和合理的空间效率的方式。

我最初的计划是一个 250x250x30 的列表数组,其中每个元素类似于:["FLAG1","FLAG8","FLAG12"]. 然后我将其更改为仅存储整数:[1,8,12]. 这些整数由 getter/setter 函数在内部映射到原始标志字符串。这仅使用 250mb,每点有 8 个标志,这在内存方面很好。

我的问题是:我是否错过了另一种构建此类数据的明显方法?

谢谢大家的建议。我最终将一些建议合二为一,遗憾的是我只能选择一个答案,并且不得不接受其他人的支持:

编辑: erm 我在这里的初始代码(使用集合作为 3d numpy 数组的基本元素)使用了很多内存。这个新版本在填充randint(0,2**1000).

0 投票
6 回答
23894 浏览

python - 在 numpy 数组中查找相同值序列的长度(运行长度编码)

在一个 pylab 程序(也可能是一个 matlab 程序)中,我有一个代表距离的数字数组:d[t]是时间的距离t(我的数据的时间跨度是len(d)时间单位)。

我感兴趣的事件是距离低于某个阈值时,我想计算这些事件的持续时间。很容易得到一个布尔数组,b = d<threshold问题归结为计算b. 但我不知道如何有效地做到这一点(即使用 numpy 原语),我求助于遍历数组并进行手动更改检测(即当值从 False 变为 True 时初始化计数器,只要值为 True 就增加计数器,并在值返回 False 时将计数器输出到序列)。但这非常慢。

如何有效地检测 numpy 数组中的那种序列?

下面是一些说明我的问题的python代码:第四个点需要很长时间才能出现(如果没有,请增加数组的大小)

0 投票
6 回答
35655 浏览

python - Python中基于FFT的二维卷积和相关性

scipy(或其他流行的库)中是否有基于 FFT 的 2D 互相关或卷积函数?

有这样的功能:

  • scipy.signal.correlate2d- “直接方法实现的convolveND大数据会很慢”
  • scipy.ndimage.correlate- “使用精确计算(即非 FFT)将数组与给定内核相关联。”
  • scipy.fftpack.convolve.convolve,我不太明白,但似乎是错误的

numarray 有一个带switch的correlate2d()函数fft=True,但我猜 numarray 被折叠成 numpy,我找不到这个函数是否包含在内。

0 投票
3 回答
5083 浏览

python - Cython 和 numpy 速度

我在我的 python 程序中使用 cython 进行相关性计算。我有两个音频数据集,我需要知道它们之间的时间差。第二组根据开始时间进行切割,然后滑过第一组。有两个 for 循环:一个滑动集合,内部循环计算该点的相关性。这种方法效果很好,而且足够准确。

问题是,对于纯 python,这需要超过一分钟。使用我的 cython 代码,大约需要 17 秒。这还是太多了。您是否有任何提示如何加速此代码: