问题标签 [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.
python - MATLAB 中的 mrdivide 函数:它在做什么,我如何在 Python 中做到这一点?
我有这行 MATLAB 代码:
我正在使用这些输入:
这是结果(一个 1x25 矩阵):
MATLAB 在做什么?我试图在 Python 中复制这种行为,而mrdivide
MATLAB 中的文档没有帮助。5 来自哪里,为什么其余的值都是 0?
我已经尝试使用其他输入并收到类似的结果,通常只是一个不同的第一个元素和零填充矩阵的其余部分。在 Python 中,当我使用 时linalg.lstsq(b.T,a.T)
,返回的第一个矩阵中的所有值(即不是单数)都是 0.2。我已经在 Python 中尝试过正确的除法,它完全给出了错误尺寸的东西。
我了解最小二乘近似是什么,我只需要知道mrdivide
在做什么。
有关的:
python - Python中的十进制对齐格式
这应该很容易。
这是我的数组(而是一种生成代表性测试数组的方法):
我想要一个字符串列表,其中 '\n'.join(list_o_strings) 将打印:
我想在左侧和右侧放置空格(但没有必要)。
如果这就是小数点后的全部内容,我想要小数点后的零。
我不想要科学记数法。
..而且我不想丢失任何有效数字。(在 353.98000000000002 中,2 不重要)
是的,很高兴想要..
Python 2.5's%g, %fx.x
等要么让我迷惑,要么做不到。我还没试过import decimal
。我也看不到NumPy这样做(尽管array.__str__
andarray.__repr__
是十进制对齐的(但有时返回科学)。
哦,速度很重要。我在这里处理大数组。
我目前的解决方法是:
- 到 str(a) 并解析 NumPy 的括号
- 到 str(e) 数组中的每个元素和 split('.') 然后填充和重建
- 到 a.astype('S'+str(i)) 其中 i 是 max(len(str(a))),然后填充
似乎应该有一些现成的解决方案......(但不是必需的)
dtype
当是 float64时,最佳建议失败:
python - SciPy 中的插值:找到产生 Y 的 X
有没有更好的方法来找到哪个X给了我我在 SciPy 中寻找的Y ?我刚开始使用 SciPy,对每个功能都不太熟悉。
python - 使用 Python 和 NumPy 的非常大的矩阵
NumPy是一个非常有用的库,通过使用它,我发现它能够轻松处理非常大(10000 x 10000)的矩阵,但开始与任何更大的矩阵作斗争(试图创建一个 50000 x 50000 的矩阵失败)。显然,这是因为大量的内存需求。
有没有办法以某种方式(没有几 TB 的 RAM)在 NumPy 中本地创建巨大的矩阵(比如 100 万乘 100 万)?
python - 如何使用它的两个视图修改 NumPy.recarray
我是 Python 和 Numpy 的新手,我遇到了一个问题,即在应用于蒙面视图时,我无法修改 numpy.recarray。我从文件中读取recarray,然后创建两个蒙版视图,然后尝试修改for循环中的值。这是一个示例代码。
但是当我打印结果时
文件中的所有 scale_means 仍然为零。
我一定做错了什么。是否有修改视图值的正确方法?是因为我一个一个地应用两个视图吗?
谢谢你。
python - 用 Python 代替 MATLAB:如何导入数据?
我想用一些 Python 库来代替 MATLAB。如何在 Python 中导入 Excel 数据(例如使用NumPy)来使用它们?
我不知道 Python 是否是 MATLAB 的可靠替代品,但我想尝试一下。有教程吗
python - Python中的标志
我正在使用一个大矩阵(250x250x30 = 1,875,000 个单元格),我想要一种方法来为这个矩阵中的每个单元格设置任意数量的标志,以某种易于使用和合理的空间效率的方式。
我最初的计划是一个 250x250x30 的列表数组,其中每个元素类似于:["FLAG1","FLAG8","FLAG12"]
. 然后我将其更改为仅存储整数:[1,8,12]
. 这些整数由 getter/setter 函数在内部映射到原始标志字符串。这仅使用 250mb,每点有 8 个标志,这在内存方面很好。
我的问题是:我是否错过了另一种构建此类数据的明显方法?
谢谢大家的建议。我最终将一些建议合二为一,遗憾的是我只能选择一个答案,并且不得不接受其他人的支持:
编辑: erm 我在这里的初始代码(使用集合作为 3d numpy 数组的基本元素)使用了很多内存。这个新版本在填充randint(0,2**1000)
.
python - 在 numpy 数组中查找相同值序列的长度(运行长度编码)
在一个 pylab 程序(也可能是一个 matlab 程序)中,我有一个代表距离的数字数组:d[t]
是时间的距离t
(我的数据的时间跨度是len(d)
时间单位)。
我感兴趣的事件是距离低于某个阈值时,我想计算这些事件的持续时间。很容易得到一个布尔数组,b = d<threshold
问题归结为计算b
. 但我不知道如何有效地做到这一点(即使用 numpy 原语),我求助于遍历数组并进行手动更改检测(即当值从 False 变为 True 时初始化计数器,只要值为 True 就增加计数器,并在值返回 False 时将计数器输出到序列)。但这非常慢。
如何有效地检测 numpy 数组中的那种序列?
下面是一些说明我的问题的python代码:第四个点需要很长时间才能出现(如果没有,请增加数组的大小)
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,我找不到这个函数是否包含在内。
python - Cython 和 numpy 速度
我在我的 python 程序中使用 cython 进行相关性计算。我有两个音频数据集,我需要知道它们之间的时间差。第二组根据开始时间进行切割,然后滑过第一组。有两个 for 循环:一个滑动集合,内部循环计算该点的相关性。这种方法效果很好,而且足够准确。
问题是,对于纯 python,这需要超过一分钟。使用我的 cython 代码,大约需要 17 秒。这还是太多了。您是否有任何提示如何加速此代码: