【python – 删除NumPy数组中包含重复项的行】教程文章相关的互联网学习教程文章

python – Elementwise乘以1D-numpy数组(形状(k,1)或(k,))并且结果具有第一个的形状【代码】

我想实现一个对角矩阵应用函数,它是通过首先提供对角线d,然后用x做一堆矩阵向量乘法而创建的.当然我不想创建一个实际的矩阵,因为所需要的只是元素向量乘法. 现在,一些用户将提供形状(k,)的对角线d,一些形状(k,1).此外,x可以具有形状(k,)和(k,1).我希望apply()方法的行为与numpy矩阵的*一样,结果与输入x的形状相同. 因此问题是:在Python / Numpy中,是否有一种非常不经常的方法来元素乘法两个np.arrays x和y形状(k,)或(k,1)(任意组合...

python – 有效地计算numpy数组中的排序排列【代码】

我有一个numpy数组.计算所有排序排列的最快方法是什么. 我的意思是,鉴于我的数组中的第一个元素,我想要一个按顺序跟随它的所有元素的列表.然后给出第二个元素,列出其后面的所有元素. 所以给我的清单:b,c,& d跟随一个. c& d跟随b,d跟随c.x = np.array(["a", "b", "c", "d"])所以潜在的输出看起来像:[["a","b"],["a","c"],["a","d"],["b","c"],["b","d"],["c","d"], ]我需要做几百万次,所以我正在寻找一个有效的解决方案. 我尝试过...

python – Cython:使用融合类型在一个参数中传递多个numpy数组【代码】

我已经重写了从C到Cython的算法,所以我可以利用融合类型,并使从python调用更容易.该算法可以使多个数组与其他一些参数一起工作.数组被接受为指针指针(例如).我想我会通过提供多个数组作为numpy数组的元组来从python调用cython代码,但要做到这一点会使融合类型变得混乱.这是我现在如何工作的一个简单示例:import numpy cimport numpyctypedef fused test_dtype:numpy.float32_tnumpy.float64_tcdef int do_stuff(test_dtype **some...

python – 对NumPy数组进行排序并随之排列另一个数组【代码】

我有两个,numpy数组,第一个,A,一维,第二个,B,在我想到的应用程序中是二维的,但真的可以有任何维度. B的每个索引覆盖与A的单个索引相同的范围. 现在,我想对A进行排序(按降序排列),但希望将B的每个维度与它一起置换.从数学上讲,如果P是对A进行排序的置换矩阵,我想根据np.dot(P,np.dot(B,P.T))变换B.例如.考虑这个例子,其中排序巧合地对应于颠倒顺序:In [1]: import numpy as npIn [2]: A = np.array([1,2,3])In [3]: B = np.random....

python – 从NumPy数组中删除只有“nan”值的列【代码】

我有一个类似下面的NumPy矩阵:[[182 93 107 ..., nan nan -1][182 93 107 ..., nan nan -1][182 93 110 ..., nan nan -1]..., [188 95 112 ..., nan nan -1][188 97 115 ..., nan nan -1][188 95 112 ..., nan nan -1]]我想从上面的矩阵中删除仅涉及纳米值的列. 我怎样才能做到这一点?谢谢.解决方法:假设您的数组现在是浮点数,您可以识别所有NaN列并使用花式索引来检索其他列:d array([[ 182., 93., 107., nan, nan, -...

python – 查找包含任何列表的NumPy数组行【代码】

我有一个2D NumPy数组a和一个list / set / 1D NumPy数组b.我想找到那些包含任何b的行,即import numpy as npa = np.array([[1, 2, 3],[4, 5, 3],[0, 1, 0]])b = np.array([1, 2])# result: [True, False, True]任何提示?解决方法:您可以使用np.in1d查找a中每个元素中b中任何元素的匹配项.现在,np.in1d会使数组变平,所以我们需要重新整形.最后,因为我们想要在a中的每一行找到任何匹配项,所以沿着每一行使用np.any.因此,我们会有这样...

Python – 在二进制numpy数组中找到1d质心的最佳方法【代码】

假设我有以下Numpy数组,其中我有一个且只有一个连续切片的1:import numpy as np x = np.array([0,0,0,0,1,1,1,0,0,0], dtype=1)我想找到1个元素的1D质心的索引.我可以输入以下内容:idx = np.where( x )[0] idx_center_of_mass = int(0.5*(idx.max() + idx.min())) # this would give 5(当1s切片的元素数是偶数时,这会导致粗略的近似.)有没有更好的方法来做到这一点,比如计算效率更高的oneliner?解决方法:作为一种方法,我们可以得...

python – 无论如何要使这个numpy数组操作更快?【代码】

假设我有一个矩阵:A = [[2, 1][1, 2]]和矩阵列表:B = [[1, 0] C = [[2, 1], D = [[0, 0], E = [[1, 0],[1, 0]] [0, 0]] [0, 0]] [0, 0]]我首先想要展平A.flatten()= [2 1 1 2]然后得到这些元素的总和分别乘以B,C,D和E.所以:A[0] * B + A[1]*C + A[2]*D + A[3]*E现在考虑一个更一般的情况:A[0] * X_1 + A[1] * X_2 + ... + A[n-1] * X_n其中X_n可以有任何尺寸.这是我提出的代码来执行此操作:import nump...

python – Numpy数组到vtk表【代码】

我有以下问题.我有一个像这样的numpy数组:arr = np.array([[ 1. , 1. , 4. , 3. , 6. , 12. , -1. , 1.],[ 1. , 2. , 2., 2., 10. , 6. , -2. , 2.],[ 1. , 2. , 3. , 4. , 4. , 11. , -2. , 3.],[ 1. , 2. , 3. , 6., 8. , 9. , 1. , 4.],[ 1. , 2. , 6. , 7. , 4., 14. , 1. , 5.],[ 1. , 2. , 7. , 4. , 2. , 17. , -0. , 6.],[ ...

python – 测试numpy数组是否为numpy数组列表的成员,并将其从列表中删除【代码】

测试numpy数组c是否是numpy数组CNTS列表的成员时:import numpy as npc = np.array([[[ 75, 763]],[[ 57, 763]],[[ 57, 749]],[[ 75, 749]]])CNTS = [np.array([[[ 78, 1202]],[[ 63, 1202]],[[ 63, 1187]],[[ 78, 1187]]]),np.array([[[ 75, 763]],[[ 57, 763]],[[ 57, 749]],[[ 75, 749]]]),np.array([[[ 72, 742]],[[ 58, 742]],[[ 57, 741]],[[ 57, 727]],[[ 58, 726]],[[ 72, 726]]]),np.array([[[ 66, 194]],[[ 51, 194]...

python – 编写csv头从下面写的numpy数组中删除数据【代码】

我正在尝试将数据导出到csv文件.它应该包含一个标题(来自datastack)和带有我的数据的重新包装数组(来自datastack). datastack中的一行与数据集的长度相同.下面的代码可以工作,但它会从datastack中删除第一行的部分内容.任何想法为什么会这样?s = ','.join(itertools.chain(dataset)) + '\n' newfile = 'export.csv' f = open(newfile,'w') f.write(s) numpy.savetxt(newfile, (numpy.transpose(datastack)), delimiter=', ') f.cl...

python – 如何使用pyglet显示numpy数组?【代码】

我有一个尺寸为(100 * 100)的标签矩阵,存储为numpy数组,我想用pyglet显示矩阵. 我最初的想法是使用这个矩阵使用函数pyglet.image.ImageData()形成一个新的pyglet图像.它需要imagedata的缓冲区作为输入,但是我不知道如何从numpy数组中获得正确的格式化缓冲区. 任何人都有任何想法? PS.我目前的解决方案3d_label = numpy.empty([100,100,3]) 3d_label[:,:,0] = label * 255 # value range of label is [0,1] 3d_label[:,...

为什么Python ITK PyBuffer不接受我的numpy数组?【代码】

我正在使用python 2.6和ITK包装器(来自PythonXY 2.6.6.2).我正在尝试将numpy / scipy的3D图像发送到itk进行处理.import itk imageType = itk.Image.F3 buf = scipy.zeros( (100,100,100), dtype = float) itkImage = itk.PyBuffer[imageType].GetImageFromArray(buf)GetImageFromArray()失败,出现以下错误:RuntimeError: Contiguous array couldn't be created from input python object但是,如果我自己不创建缓冲区,但让ITK创建...

python – NumPy数组的返回顺序【代码】

我正在尝试返回一个数组,该数组在数组中具有每个值的等级.例如,给定以下数组:import numpy as np arr1 = np.array([4, 5, 3, 1])我想要返回数组:array([2, 3, 1, 0])这样返回数组中的值表示数组的升序(即,返回数组中的值表示哪个是最大的).使用argsort,我只能告诉如何重新排序这些值:arr1.argsort() array([3, 2, 0, 1])如果不清楚,请告诉我.解决方法:可能有更好的方法,但我总是做argsort().argsort():>>> import numpy as np ...

从python numpy数组中写入逗号分隔值【代码】

我正在创建一个自定义文件编写器.我需要写出我的数组的值,逗号分隔成文件中的一行.我可以做以下事情:def as_csv(array):return ','.join([str(i) for i in array]) + '\n'然后:outfile.write(my_header) outfile.write(other_stuff) outfile.write(as_csv(array))但我想知道这是否是最有效的方法,或者是否有更好的方法使用numpy.array_str或numpy.array_repr方法.解决方法:您还可以使用内置的numpy方法np.savetxt:http://docs.s...