【python – 使用cython将numpy数组列表传递给C.】教程文章相关的互联网学习教程文章

python – 如何有效地将矩阵变换应用于NumPy数组的每一行?【代码】

假设我有一个2d NumPy ndarray,就像这样:[[ 0, 1, 2, 3 ],[ 4, 5, 6, 7 ],[ 8, 9, 10, 11 ]]从概念上讲,我想要做的是:For each row:Transpose the rowMultiply the transposed row by a transformation matrixTranspose the resultStore the result in the original ndarray, overwriting the original row data我有一个极其缓慢,强力的方法,在功能上实现了这一点:import numpy as np transform_matrix = np.matrix( /* 4x4 mat...

python – 从字符串保存和检索Numpy数组【代码】

我想将多维Numpy数组转换为字符串,然后将该字符串转换回等效的Numpy数组. 我不想将Numpy数组保存到文件中(例如通过savetxt和loadtxt接口). 这可能吗?解决方法:您可以使用np.tostring和np.fromstring:In [138]: x = np.arange(12).reshape(3,4)In [139]: x.tostring() Out[139]: '\x00\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x0...

python – 在numpy数组中找到n个最小的项【代码】

这里有很多问题,想要找到numpy数组中的第n个最小元素.但是,如果你有一个数组数组怎么办?像这样:>>> print matrix [[ 1. 0.28958002 0.09972488 ..., 0.46999924 0.647231130.60217694][ 0.28958002 1. 0.58005657 ..., 0.37668355 0.488522720.3860152 ][ 0.09972488 0.58005657 1. ..., 0.13151364 0.295399920.03686381]..., [ 0.46999924 0.37668355 0.13151364 ..., 1. 0.5...

python – numpy数组的质量中心,如何减少冗长?【代码】

从我所知的numpy,it’s a bad idea一次一个地对一个数组的每一行应用一个操作.广播显然是首选方法.鉴于此,我如何获取具有形状(N,3)的数据并将其转换为质心?以下是我正在使用的“坏方法”.这有效,但我怀疑它对大N会有性能影响:CM = R.sum(0)/R.shape[0] for i in xrange(R.shape[0]): R[i,:] -= CM解决方法:尝试R -= R.sum(0) / len(R)代替.广播将自动做正确的事.

python – 使用列表中的随机元素创建numpy数组【代码】

有没有一种有效的方法来创建一个任意长的numpy数组,其中每个维度包含从长度为> = n的列表中绘制的n个元素?列表中的每个元素只能为每个维度绘制一次. 例如,如果我有列表l = [‘cat’,’mescaline’,’popcorn’],我希望能够,例如通过键入类似np.random.pick_random(l,(3,2)的内容,replace = false),创建一个数组数组([[‘cat’,’popcorn’],[‘cat’,’popcorn’],[‘mescaline’,’cat’]]). 谢谢.解决方法:有几种方法可以做到这...

Python NumPy数组【代码】

我正在使用两个数组,尝试使用它们像二维数组.我正在使用NumPy进行大量的矢量化计算.知道如何填充这样的数组:X = [1, 2, 3, 1, 2, 3, 1, 2, 3]要么:X = [0.2, 0.4, 0.6, 0.8, 0.2, 0.4, 0.6, 0.8, 0.2, 0.4, 0.6, 0.8, 0.2, 0.4, 0.6, 0.8]忽略邮件的第一部分. 我不得不以网格的形式填充两个数组.但网格尺寸因用户而异,这就是我需要一般形式的原因.我今天早上一直在努力,终于得到了我想要的东西. 如果我之前引起任何混淆,我道歉.英...

python – 大型2D numpy数组中相同元素的高效成对计算【代码】

我有一个2D numpy数组,有数十万行和一千个左右的列(假设它是一个NP数组,N = 200,000,P = 1000).这里的目标是计算每对行向量之间相同元素的数量,理想情况下使用numpy数组魔术,不需要我执行199,999 * 100,000个这样的对的循环.由于存储200,000200,000阵列可能不可行,因此输出可能是Nx3稀疏坐标格式,例如,如果输入的形式如下:5 12 14 200 0 45223 7 12 14 0 200 60000 7 6 23 0 0 45223 5 6 14 200 0 45223得到的(密集的...

python – 在numpy数组中绘制多边形【代码】

我正在尝试绘制这样的多边形:In [1]: canvas = numpy.zeros((12, 12), dtype=int)In [2]: mahotas.polygon.fill_polygon(...: [(1, 1), (1, 10), (10, 10), (10, 1)],...: canvas)In [3]: canvas Out[3]: array([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],[0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0],[0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0],[0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0],[0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0],[0, 1, 1, 1, 1, ...

python – numpy数组项目之间的最小平方差异【代码】

我刚开始学习一些numpy因为High performance calculation of least squares difference from all possible combinations (n lists): 现在我对计算很不满意,可以使用一些帮助. 我有一个numpy数组对象,如下所示:>>> items array([[ 246, 1143, 1491, ..., 1167, 325, 1158],[ 246, 1143, 1491, ..., 1167, 519, 1158],[ 246, 1143, 1491, ..., 1167, 507, 1158],..., [1491, 1143, 246, ..., 1167, 325, 1158],[1491, 1143, ...

python – 通过引用组合NumPy数组【代码】

我想在O(1)中将两个数组组合成一个新数组.然后,我想更改此新数组中的值以更改旧数组中的值. 这是在PyGame的surfarray模块的上下文中,该模块没有返回RGBA(n * m * 4)数组的函数 – 仅分别为RGB(n * m * 3)和A(n * m)数组.理想情况下,我会在O(1)中创建一个新的数组“RGBA”,它引用“RGB”和“A”数组.改变“RGBA”会改变“RGB”和“A”,因此改变表面. 我不知道这是否可行,因为我想不出用C做的方法.但是,我可以想到一些想法.例如,可能...

python – 访问冲突(0xC0000005)Numpy数组【代码】

我在下面有这个简单的numpy / python代码:from numpy import zeros, float32v = 3039345 d = 400 i = 354993 j = 0var1 = zeros((v,d), dtype=float32) var1[i, j] = 0 #the problem pops here当解释最后一行时,我有这个:Process finished with exit code -1073741819 (0xC0000005)如果我< 354993执行没问题.我在Windows 8 64位上使用32位32位Python.这是由于内存的限制?在这种情况下,这将是什么最好的解决方案?谢谢.解决方法:...

python – 如何在numpy数组中存储带尾随空值的二进制值?【代码】

我正在尝试将固定宽度的二进制数据存储在numpy数组中.但是,如果我的数据具有尾随空值,则它们会被剥离.如果我使用void类型它们可以工作,但我想将它们保存为字节字符串.有没有办法做到这一点?>>> import numpy as np# Works >>> varr = np.array([(b'abc\x00\x00',), (b'de\x00\x00\x00',)], dtype='V5') [[[97 98 99 0 0]][[100 101 0 0 0]]]# Strips nulls >>> sarr = np.array([(b'abc\x00\x00',), (b'de\x00\x00\x00',)...

python – 以有效的方式根据其他数组减少numpy数组中的数据【代码】

我想就python中数组减少数据的问题向你提供帮助,我是python的新手,但我有一些编程经验. 问题包括以下内容:我有一个n个元素的数组S来自传感器的测量结果,并且旁边有四个其他数组,表示测量的年份,月份,日期和时间(y_lna,m_lna ,d_lna和h_lna),我还有另外一个m个相等元素的数组T伴随着4个数组(y,m,d,h),我想创建一个与S相同大小的向量,其中T的值匹配S小时,天,月和年的那些. 这些数据的组织方式使它们具有从0年到0年的值,顺序如下:Da...

python – 找到邻近最大值的numpy数组坐标【代码】

我使用接受的答案in this question来获取2个或更多维度的numpy数组中的局部最大值,因此我可以为它们分配标签.现在我还想根据梯度将这些标签分配给阵列中的相邻单元 – 即,单元获得与具有最高值的相邻单元相同的标签.这样我就可以迭代地为整个数组分配标签. 假设我有一个数组A>>> A = np.array([[ 1. , 2. , 2.2, 3.5],[ 2.1, 2.4, 3. , 3.3],[ 1. , 3. , 3.2, 3. ],[ 2. , 4.1, 4. , 2. ]])应用我得到的maximum_filter...

python – 根据值的唯一性删除numpy数组的行【代码】

假设我有一个像这样的二维数组numpy.array([[0,1,1.2,3],[1,5,3.2,4],[3,4,2.8,4], [2,6,2.3,5]])我希望有一个数组,根据最后一列的值的唯一性消除整行,根据第三列的值选择要保留的行.例如在这种情况下,我想只保留其中一行作为最后一列4,并选择具有第三列的次要值的行,结果是这样的:array([0,1,1.2,3],[3,4,2.8,4],[2,6,2.3,5])从而消除了行[1,5,3.2,4] 这将是最好的方式吗?解决方法:我的numpy已经失去了实践,但这应该有效:#keep...