Tag: numpy

在一个numpy数组中相乘

我试图用二维数组中的每个项乘以一维数组中的相应项。 如果我想用1D数组乘以每一列,这很容易,如numpy.multiply函数所示。 但是我想做相反的事情,把每一个词汇都放在一行中。 换句话说,我想要繁殖: [1,2,3] [0] [4,5,6] * [1] [7,8,9] [2] 并得到 [0,0,0] [4,5,6] [14,16,18] 但是我得到了 [0,2,6] [0,5,12] [0,8,18] 有谁知道是否有一个优雅的方式来做到这一点与numpy? 亚历克斯,谢谢

什么是最简单的方法来在二维扩展一个numpy数组?

我有一个2d数组,看起来像这样: XX xx 什么是最有效的方式来添加一个额外的行和列: xxy xxy yyy 对于奖励积分,我想也能够淘汰单行和列,所以例如在下面的matrix,我想能够淘汰所有的只剩下x的 – 特别是我试图同时删除第n行和第n列 – 我希望能够尽快做到这一点: xxaxx xxaxx aaaaa xxaxx xxaxx

numpy中的“isnotnan”function,这可以更pythonic?

我需要一个从数组中返回非NaN值的函数。 目前我正在这样做: >>> a = np.array([np.nan, 1, 2]) >>> a array([ NaN, 1., 2.]) >>> np.invert(np.isnan(a)) array([False, True, True], dtype=bool) >>> a[np.invert(np.isnan(a))] array([ 1., 2.]) Python:2.6.4 numpy:1.3.0 请分享,如果你知道更好的方法,谢谢

Cython中的复数

在Cython中使用复数的正确方法是什么? 我想写一个纯粹的C循环使用dtype np.complex128的numpy.ndarray。 在Cython中,关联的Ctypes是在Cython/Includes/numpy/__init__.pxd as ctypedef double complex complex128_t 所以这似乎只是一个简单的C双复杂。 但是,很容易获得奇怪的行为。 特别是有了这些定义 cimport numpy as np import numpy as np np.import_array() cdef extern from "complex.h": pass cdef: np.complex128_t varc128 = 1j np.float64_t varf64 = 1. double complex vardc = 1j double vard = 1. 线 varc128 = varc128 * varf64 可以由Cython编译,但是gcc不能编译生成的C代码(错误是“testcplx.c:663:25:error:两个或多个数据types在声明说明符中”,似乎是由于typedef npy_float64 _Complex __pyx_t_npy_float64_complex; )。 […]

从numpy datetime64获取年,月或日

我有一个datetime64types的数组: dates = np.datetime64(['2010-10-17', '2011-05-13', "2012-01-15"]) 有没有比循环每个元素更好的方法来获得np.array年: years = f(dates) #output: array([2010, 2011, 2012], dtype=int8) #or dtype = string 我正在使用稳定的numpy版本1.6.2。

numpy dot()和inner()之间的区别

有什么区别 import numpy as np np.dot(a,b) 和 import numpy as np np.inner(a,b) 我试过的所有例子都返回了相同的结果。 维基百科有两个相同的文章? 在inner() 的描述中 ,它说,它的行为在更高的维度是不同的,但我不能产生任何不同的输出。 我应该使用哪一个?

连续和非连续数组之间有什么区别?

在关于reshape()函数的numpy手册中 ,它说 >>> a = np.zeros((10, 2)) # A transpose make the array non-contiguous >>> b = aT # Taking a view makes it possible to modify the shape without modifying the # initial object. >>> c = b.view() >>> c.shape = (20) AttributeError: incompatible shape for a non-contiguous array 我的问题是: 什么是连续和不连续的数组? 它与C中的连续内存块相似吗?什么是连续内存块? 这两者之间有什么performance差异? 我们应该什么时候使用一个或另一个? […]

NumPy:比较两个数组中的元素

任何人都遇到过这个问题? 假设你有两个如下所示的数组 a = array([1,2,3,4,5,6]) b = array([1,4,5]) 有没有办法比较b中存在的元素? 例如, c = a == b # Wishful example here print c array([1,4,5]) # Or even better array([True, False, False, True, True, False]) 我试图避免循环,因为它需要数百万元素的年龄。 有任何想法吗? 干杯

numpy将两个数组垂直连接

我尝试了以下内容: >>> a = np.array([1,2,3]) >>> b = np.array([4,5,6]) >>> np.concatenate((a,b), axis=0) array([1, 2, 3, 4, 5, 6]) >>> np.concatenate((a,b), axis=1) array([1, 2, 3, 4, 5, 6]) 不过,我希望至less有一个结果是这样的 array([[1, 2, 3], [4, 5, 6]]) 为什么不是垂直连接?

对numpy数组中的每个第n个条目进行子采样

我是一个numpy初学者,我试图从一个长长的numpy数组中提取一些数据。 我需要做的是从我的数组中定义的位置开始,然后从该位置对每个第n个数据点进行子采样,直到数组的末尾。 基本上如果我有 a = [1,2,3,4,1,2,3,4,1,2,3,4….] 我想对这个子样本从a[1] ,然后从那里对每个第四个点进行采样,得到类似的结果 b = [2,2,2…..]