草庐IT

NumPy库

全部标签

python - NumPy 数组 : Efficiently find matching indices

我有两个列表,其中一个很大(数百万个元素),另一个有几千个。我要执行以下操作bigArray=[0,1,0,2,3,2,,.....]smallArray=[0,1,2,3,4]foriinlen(smallArray):pts=np.where(bigArray==smallArray[i])#Dostuffwithpts...上面的工作,但很慢。有没有什么方法可以更有效地做到这一点而无需诉诸于用C编写一些东西? 最佳答案 在您的情况下,您可能会受益于对大数组进行预排序。下面是演示如何将时间从大约45秒减少到2秒的示例(在我的笔记

python - 即使 Anaconda 说它已安装,导入 Numpy 也会导致错误?

我注册了一个统计udemy类(class),该类(class)使用jupyter从anaconda运行stocknumpy包。当我在pycharm中运行python3.4.4时,Numpy正在工作,但它在anaconda2和anaconda3中都不起作用。这没有意义,因为numpy作为anaconda库的一部分存在。当我尝试在jupyter中导入numpy并运行python2脚本的本地实例时,我得到以下信息:认为我可以使用IDE避免错误,我尝试了pycharm并得到了这个:Numpy是我正在运行的anaconda默认库的一部分,所以我使用“condalist”通过AnacondaPro

python - Numpy 随机选择生成具有所有唯一值的二维数组

所以我想知道是否有更有效的解决方案来使用np.random.choice生成二维数组,其中每一行都有唯一值。例如,对于形状为(3,4)的数组,我们期望输出为:#Expectedoutputgivenashape(3,4)array([[0,1,3,2],[2,3,1,0],[1,3,2,0]])这意味着每行的值相对于列数必须是唯一的。所以对于out中的每一行,整数应该只在0到3之间。我知道我可以通过将False传递给replace参数来实现它。但我只能为每一行而不是整个矩阵做。例如,我可以这样做:>>>np.random.choice(4,size=(1,4),replace=Fals

python - 从存储在 NumPy ndarrays 中的图像中查找特定 (R,G,B) 颜色值的 (x,y) 索引

我有一个图像存储在一个numpy数组中,由imread()生成:>>>ndimarray([[[0,0,0],[4,0,0],[8,0,0],...,[247,0,28],[251,0,28],[255,0,28]],[[0,255,227],[4,255,227],[8,255,227],...,[247,255,255],[251,255,255],[255,255,255]]],dtype=uint8)>>>ndim.shape(512,512,3)我想有效地找到具有特定颜色值的像素的(x,y)坐标(或坐标),例如>>>carray([32,32,109],dtype=uint8

python - 如何将 Numpy 数组粘贴到 Excel

我有多个使用Numpy和SciPy处理的文件,但我需要提供一个Excel文件。如何有效地将巨大的numpy数组复制/粘贴到Excel?我尝试转换为Pandas的DataFrame对象,它具有非常有用的函数to_clipboard(excel=True),但我大部分时间都在将数组转换为DataFrame。我不能简单地将数组写入CSV文件然后在excel中打开它,因为我必须将数组添加到现有文件;使用xlrd/xlwt和其他Excel工具很难实现。 最佳答案 我最好的解决方案是将数组转换为字符串,然后使用win32clipboard将其发

python - 坐标的 Numpy 矩阵

我正在尝试获取坐标数组矩阵。这与numpy.meshgrid不同。例如,对于2x2尺寸,我想要2x2x2输出[[[0,0],[0,1]],[[1,0],[1,1]]]作为一个numpy数组。这可能看起来和读起来更清晰的2x2元组矩阵:[[(0,0),(0,1)],[(1,0),(1,1)]](除了我不认为你可以在numpy数组中有元组,这不是这里的重点)这个简单的例子可以通过切换numpy-meshgrid的输出轴来完成(具体来说,将第一个轴移动到最后一个轴):np.array(np.meshgrid([0,1],[0,1])).transpose([1,2,0])这可以很容易地推广到

python - 使用 pip 在 OS X 上重新安装 numpy - "can’ t 被修改或删除,因为 OS X 需要它”

我正在尝试升级macOS上的numpy库,但是pip似乎没有足够的权限来删除numpy。运行`pipinstall--upgradepip给我这个回溯:➜Desktopsudo-Hpipinstall--upgradenumpyCollectingnumpyUsingcachednumpy-1.11.3-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whlInstallingcollectedpackages:numpyFo

python - python 中 numpy 数组的 len()

这个问题在这里已经有了答案:Numpyarraydimensions(9个回答)关闭5年前。如果我使用len(np.array([[2,3,1,0],[2,3,1,0],[3,2,1,1]])),我回来了3.为什么len()没有关于我想要多维数组中哪个轴的长度的参数?这令人震惊。有替代方案吗?

python - 就地改变numpy函数输出数组

我正在尝试编写一个对数组执行数学运算并返回结果的函数。一个简化的例子可能是:deforiginal_func(A):returnA[1:]+A[:-1]为了加快速度并避免为每个函数调用分配新的输出数组,我想将输出数组作为参数,并就地更改它:definplace_func(A,out):out[:]=A[1:]+A[:-1]但是,当以下面的方式调用这两个函数时,A=numpy.random.rand(1000,1000)out=numpy.empty((999,1000))C=original_func(A)inplace_func(A,out)原始函数似乎是就地函数的两倍。这怎么解释呢

Python NumPy - FFT 和逆 FFT?

我一直在使用FFT,目前正在尝试使用FFT从文件中获取声音波形(最终对其进行修改),然后将修改后的波形输出回文件。我得到了声波的FFT,然后对其使用了反FFT函数,但输出文件听起来一点也不对。我没有对波形进行任何过滤-我只是测试获取频率数据,然后将其放回文件中-它听起来应该是一样的,但听起来却大不相同。此后我一直致力于此项目,但尚未获得预期的结果。输出的声音文件嘈杂(既响亮又原始文件中不存在的额外噪音),并且来自一个channel的声音泄漏到另一个channel(之前是静音的)。输入声音文件是立体声、2声道文件,声音仅来自一个声道。这是我的代码:importscipyimportwav