Tag: numpy

将numpymatrix初始化为零或一个以外的东西

我有以下代码: r = numpy.zeros(shape = (width, height, 9)) 它创build一个宽度为x高度x 9matrix填充零。 相反,我想知道是否有一个函数或方法来初始化他们,而不是NaN。 有没有? 而不必诉诸手动做循环等? 谢谢

基准testing(使用BLAS的python与c ++)和(numpy)

我想写一个广泛使用BLAS和LAPACK线性代数function的程序。 由于performance是一个问题,我做了一些基准testing,并希望知道,如果我采取的方法是合法的。 我可以这么说,三名参赛者想用简单的matrix – matrix乘法来testing他们的performance。 参赛者是: Numpy,只使用dot的function。 Python,通过共享对象调用BLASfunction。 C ++,通过共享对象调用BLASfunction。 脚本 我为不同的维度i实现了matrix – matrix乘法。 i从5增加到500,增量为5,并且m1和m2的设置是这样的: m1 = numpy.random.rand(i,i).astype(numpy.float32) m2 = numpy.random.rand(i,i).astype(numpy.float32) 1. Numpy 使用的代码如下所示: tNumpy = timeit.Timer("numpy.dot(m1, m2)", "import numpy; from __main__ import m1, m2") rNumpy.append((i, tNumpy.repeat(20, 1))) 2. Python,通过共享对象调用BLAS 有了这个function _blaslib = ctypes.cdll.LoadLibrary("libblas.so") def Mul(m1, m2, i, r): no_trans = c_char("n") n = c_int(i) […]

在'for'循环中,i = i + 1和i + = 1有什么区别?

我今天发现了一个奇怪的东西,想知道是否有人能够弄清楚这里有什么不同? import numpy as np A = np.arange(12).reshape(4,3) for a in A: a = a + 1 B = np.arange(12).reshape(4,3) for b in B: b += 1 运行每个for循环后, A没有改变,但是B已经添加到每个元素。 我实际上使用B版本写入一个for循环中的初始化NumPy数组。

NumPy数组就地转换

给定一个int32的NumPy数组,我该如何将它转换为float32 ? 所以基本上,我想这样做 a = a.astype(numpy.float32) 而不复制数组。 它很大。 这样做的原因是我有两个algorithm来计算a 。 其中一个返回一个int32数组,另一个返回一个float32数组(这是两个不同的algorithm所固有的)。 所有进一步的计算都假定a是一个float32的数组。 目前我在通过ctypes调用的C函数中进行转换。 有没有办法在Python中做到这一点?

PIL和numpy

好吧,我正忙着将一个PIL图像对象来回转换为一个numpy数组,所以我可以比PIL的PixelAccess对象允许更快的逐像素转换。 我已经想出了如何通过以下方式将像素信息放置在有用的3D numpy数组中: pic = Image.open("foo.jpg") pix = numpy.array(pic.getdata()).reshape(pic.size[0], pic.size[1], 3) 但我似乎无法弄清楚如何完成我所有的真棒转换后,将其加载回PIL对象。 我知道putdata()方法,但似乎不能让它的行为。 有什么想法吗?

将pandas数据框转换为numpy数组,保留索引

我有兴趣了解如何将pandas数据框转换为包含索引的numpy数组,并设置dtypes。 dataframe: label ABC ID 1 NaN 0.2 NaN 2 NaN NaN 0.5 3 NaN 0.2 0.5 4 0.1 0.2 NaN 5 0.1 0.2 0.5 6 0.1 NaN 0.5 7 0.1 NaN NaN 转换为数组返回: array([[ nan, 0.2, nan], [ nan, nan, 0.5], [ nan, 0.2, 0.5], [ 0.1, 0.2, nan], [ 0.1, 0.2, 0.5], [ […]

如何将一个numpy数组转换(并显示)一个图像?

我已经创build了一个数组: import numpy as np data = np.zeros( (512,512,3), dtype=np.uint8) data[256,256] = [255,0,0] 我想要做的是在512×512图像的中心显示一个红点。 (至less要开始…我想我可以从那里找出其余的)

Python中的主成分分析

我想使用主成分分析(PCA)降维。 是numpy或scipy已经有了,还是我必须使用numpy.linalg.eigh推出自己的? 我不只是想用奇异值分解(SVD),因为我的input数据是非常高维的(〜460维),所以我认为SVD比计算协方差matrix的特征向量要慢。 我希望find一个预制的,debugging过的实现,它已经为什么时候使用哪种方法做出了正确的决定,也许还有其他我不知道的优化。

如何让PyLint识别numpy成员?

我正在Python项目上运行PyLint。 PyLint对于找不到numpy成员抱怨很多。 我怎样才能避免这一点,同时避免跳过会员检查。 从代码: import numpy as np print np.zeros([1, 4]) 其中,当跑,我得到预期的: [[0.0.0.0]] 但是,pylint给我这个错误: E:3,6:Module'numpy'没有'零'成员(非成员) 对于版本,我使用pylint 1.0.0(astroid 1.0.1,普通0.60.0),并尝试使用numpy 1.8.0。

nndary中的ndarray和array有什么区别?

ndarray和Numpy中的array什么区别? 我在哪里可以findnumpy源代码中的实现?