Questions tagged «numpy»

NumPy是Python编程语言的科学和数字计算扩展。


4
为什么numpy的einsum比numpy的内置函数快?
让我们从的三个数组开始dtype=np.double。使用numpy 1.7.1编译icc并链接到intel的numpy 1.7.1在intel CPU上执行计时mkl。一个AMD的CPU与编译numpy的1.6.1gcc不mkl也被用来验证的时序。请注意,计时几乎与系统大小成线性比例,并且不是由于numpy函数if语句中的开销很小,这些差异将以微秒而非毫秒显示: arr_1D=np.arange(500,dtype=np.double) large_arr_1D=np.arange(100000,dtype=np.double) arr_2D=np.arange(500**2,dtype=np.double).reshape(500,500) arr_3D=np.arange(500**3,dtype=np.double).reshape(500,500,500) 首先让我们看一下np.sum函数: np.all(np.sum(arr_3D)==np.einsum('ijk->',arr_3D)) True %timeit np.sum(arr_3D) 10 loops, best of 3: 142 ms per loop %timeit np.einsum('ijk->', arr_3D) 10 loops, best of 3: 70.2 ms per loop 权力: np.allclose(arr_3D*arr_3D*arr_3D,np.einsum('ijk,ijk,ijk->ijk',arr_3D,arr_3D,arr_3D)) True %timeit arr_3D*arr_3D*arr_3D 1 loops, best of 3: 1.32 s per loop %timeit np.einsum('ijk,ijk,ijk->ijk', …

3
Python(.T)中的语法
在SciPy中用于多元正态采样函数的帮助资源中,他们给出了以下示例: x,y = np.random.multivariate_normal(mean,cov,5000).T 我的问题很基本:最终的.T实际上做什么? 非常感谢,我知道这很简单,但是很难在Google中找到“ .T”。
72 python  numpy 

2
了解NumPy的卷积
在计算简单的移动平均线时,numpy.convolve似乎可以完成任务。 问题:使用时如何进行计算np.convolve(values, weights, 'valid')? 当文档提到时convolution product is only given for points where the signals overlap completely,这两个信号指的是什么? 如果有任何解释可以包括示例和说明,它将非常有用。 window = 10 weights = np.repeat(1.0, window)/window smas = np.convolve(values, weights, 'valid')

6
Scikit学习SVC决策功能并进行预测
我正在尝试理解Decision_function和Predict之间的关系,它们是SVC的实例方法(http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html)。到目前为止,我已经收集到决策函数返回类之间的成对得分。我的印象是,预测会选择最大化其成对成绩的课程,但我对此进行了测试,得出了不同的结果。这是我用来尝试理解两者之间关系的代码。首先,我生成了成对分数矩阵,然后打印出最大成对分数的类,该类不同于clf.predict预测的类。 result = clf.decision_function(vector)[0] counter = 0 num_classes = len(clf.classes_) pairwise_scores = np.zeros((num_classes, num_classes)) for r in xrange(num_classes): for j in xrange(r + 1, num_classes): pairwise_scores[r][j] = result[counter] pairwise_scores[j][r] = -result[counter] counter += 1 index = np.argmax(pairwise_scores) class = index_star / num_classes print class print clf.predict(vector)[0] 有谁知道这些预测和决策函数之间的关系?

2
如何使用python numpy.savetxt将字符串和浮点数写入ASCII文件?
我有一组包含字符串和浮点数的列表,例如: import numpy as num NAMES = num.array(['NAME_1', 'NAME_2', 'NAME_3']) FLOATS = num.array([ 0.5 , 0.2 , 0.3 ]) DAT = num.column_stack((NAMES, FLOATS)) 我想将这两个列表堆叠在一起,然后将它们以列的形式写入文本文件;因此,我想使用numpy.savetxt(如果可能)来执行此操作。 num.savetxt('test.txt', DAT, delimiter=" ") 当我这样做时,出现以下错误: >>> num.savetxt('test.txt', DAT, delimiter=" ") Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/Library/Python/2.7/site-packages/numpy-1.8.0.dev_9597b1f_20120920-py2.7-macosx-10.8-x86_64.egg/numpy/lib/npyio.py", line 1047, in …
70 python  list  numpy  output 

9
numpy:从2个真实的数组创建一个复杂的数组?
我想将同一数组的2个部分组合成一个复杂的数组: Data[:,:,:,0] , Data[:,:,:,1] 这些不起作用: x = np.complex(Data[:,:,:,0], Data[:,:,:,1]) x = complex(Data[:,:,:,0], Data[:,:,:,1]) 我想念什么吗?numpy是否不喜欢对复数执行数组函数?这是错误: TypeError: only length-1 arrays can be converted to Python scalars

6
如何在NumPy数组中查找连续元素的组
我必须对NumPy数组中的连续元素进行聚类。考虑以下示例 a = [ 0, 47, 48, 49, 50, 97, 98, 99] 输出应为元组列表,如下所示 [(0), (47, 48, 49, 50), (97, 98, 99)] 在这里,差异只是元素之间的差异。如果差异也可以指定为限制或硬编码数字,那就太好了。
70 python  numpy 

2
如何确定数字是否为任何类型的int(核心或numpy,带符号或不带符号)?
我需要测试变量是否为类型的int,或任何的np.int*,np.uint*优选使用单一的条件(即没有or)。 经过一些测试,我猜想: isinstance(n, int)将仅与int和np.int32(或np.int64取决于平台)匹配, np.issubdtype(type(n), int)似乎所有的匹配int和np.int*,但不匹配np.uint*。 这导致两个问题:将 np.issubdtype匹配任何一种带符号的整数?可以一次检查数字是否为带符号的整数或无符号的整数吗? 这是关于整数的测试,测试应返回False浮点型。
70 python  numpy  types 

4
numpy中的“ isnotnan”功能,是否可以使用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 如果您知道更好的方法,请分享,谢谢
69 arrays  numpy  python  nan 

3
熊猫系列的直方图值
我有一个Python熊猫系列的某些值(类型:pandas.core.series.Series) In [1]: series = pd.Series([0.0,950.0,-70.0,812.0,0.0,-90.0,0.0,0.0,-90.0,0.0,-64.0,208.0,0.0,-90.0,0.0,-80.0,0.0,0.0,-80.0,-48.0,840.0,-100.0,190.0,130.0,-100.0,-100.0,0.0,-50.0,0.0,-100.0,-100.0,0.0,-90.0,0.0,-90.0,-90.0,63.0,-90.0,0.0,0.0,-90.0,-80.0,0.0,]) In [2]: series.min() Out[2]: -100.0 In [3]: series.max() Out[3]: 950.0 我想获取直方图的值(不必绘制直方图)...我只需要获取每个间隔的频率即可。 假设我的间隔从[-200; -150]至[950; 1000] 所以下界是 lwb = range(-200,1000,50) 和上限是 upb = range(-150,1050,50) 我现在不知道如何获取频率(每个间隔内的值的数量)...我确定没有必要定义lwb和upb ...但是我不知道应该使用什么函数执行这个!(在学习了Pandas doc之后,我认为cut函数可以为我提供帮助,因为这是一个离散化问题...但是我不知道如何使用它) 能够做到这一点之后,我将看看显示直方图的方式(但这是另一个问题)

5
计算大于一个值的矩阵中的所有值
我必须计算矩阵(二维数组)中大于200的所有值。 我为此写下的代码是: za=0 p31 = numpy.asarray(o31) for i in range(o31.size[0]): for j in range(o32.size[1]): if p31[i,j]<200: za=za+1 print za o31 是一幅图像,我将其转换为矩阵,然后查找值。 我的问题是,有没有更简单的方法可以做到这一点?

2
如何判断NumPy是创建视图还是副本?
作为一个最小的工作示例,让我们数字化2D数组。numpy.digitize需要一维数组: import numpy as np N = 200 A = np.random.random((N, N)) X = np.linspace(0, 1, 20) print np.digitize(A.ravel(), X).reshape((N, N)) 现在文档说: ...仅在需要时制作副本。 ravel在这种情况下,我如何知道是否需要复制?总的来说,有什么方法可以确定某个特定操作是创建副本还是创建视图?
69 python  numpy  copy 

7
凝聚距离矩阵如何工作?(pdist)
scipy.spatial.distance.pdist返回一个压缩距离矩阵。从文档中: 返回一个简化的距离矩阵Y。对于每个和(其中),度量dist(u = X [i],v = X [j])并存储在条目ij中。 我以为ij是故意的i*j。但是我认为我可能是错的。考虑 X = array([[1,2], [1,2], [3,4]]) dist_matrix = pdist(X) 然后文档说dist(X[0], X[2])应该是dist_matrix[0*2]。但是,dist_matrix[0*2]是0 -而不是2.8。 我应该使用什么公式访问给定i和的两个向量的相似性j?
69 python  numpy  scipy 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.