Questions tagged «numpy»

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

5
如何将数据分为3组(训练,验证和测试)?
我有一个熊猫数据框,我希望将其分为3组。我知道使用train_test_split从sklearn.cross_validation,一个可以在两个集(训练集和测试)分割数据。但是,我找不到将数据分为三组的任何解决方案。最好是,我想拥有原始数据的索引。 我知道一种解决方法是使用train_test_split两次并以某种方式调整索引。但是,是否存在更标准/内置的方式将数据分为3组而不是2组?

7
首次出现大于当前值的值
我在numpy中有一个1D数组,我想在值超过numpy数组中的值的位置找到索引的位置。 例如 aa = range(-10,10) 查找超出aa值的位置5。
144 python  numpy 


10
使用numpy构建两个数组的所有组合的数组
我试图在尝试使用6参数函数的参数空间之前先研究它的数值行为,然后再尝试对其进行复杂的处理,因此我正在寻找一种有效的方法来执行此操作。 我的函数采用给定6维numpy数组作为输入的float值。我最初尝试做的是: 首先,我创建了一个函数,该函数接受2个数组并生成一个包含两个数组中值的所有组合的数组 from numpy import * def comb(a,b): c = [] for i in a: for j in b: c.append(r_[i,j]) return c 然后我将reduce()其应用于同一数组的m个副本: def combs(a,m): return reduce(comb,[a]*m) 然后我像这样评估我的功能: values = combs(np.arange(0,1,0.1),6) for val in values: print F(val) 这有效,但是太慢了。我知道参数的空间很大,但这不应该太慢。在此示例中,我仅采样了10 6(一百万)个点,仅花费了15秒以上的时间便创建了数组values。 您知道使用numpy进行此操作的更有效的方法吗? F如果需要,我可以修改函数接受参数的方式。

8
'and'(布尔值)vs'&'(按位)-为什么列表与numpy数组在行为上有所不同?
是什么解释了列表和NumPy数组上布尔运算和按位运算的行为差异? 我&对and在Python中正确使用vs 感到困惑,如以下示例所示。 mylist1 = [True, True, True, False, True] mylist2 = [False, True, False, True, False] >>> len(mylist1) == len(mylist2) True # ---- Example 1 ---- >>> mylist1 and mylist2 [False, True, False, True, False] # I would have expected [False, True, False, False, False] # ---- Example 2 …

6
从ND到一维阵列
说我有一个数组a: a = np.array([[1,2,3], [4,5,6]]) array([[1, 2, 3], [4, 5, 6]]) 我想将其转换为一维数组(即列向量): b = np.reshape(a, (1,np.product(a.shape))) 但这又回来了 array([[1, 2, 3, 4, 5, 6]]) 这与以下内容不同: array([1, 2, 3, 4, 5, 6]) 我可以使用此数组的第一个元素将其手动转换为一维数组: b = np.reshape(a, (1,np.product(a.shape)))[0] 但这需要我知道原始数组有多少个维数(并在使用较大维数时将[0]连接起来) 有没有一种与尺寸无关的方式来从任意ndarray获取列/行向量?
141 python  numpy 

8
使用Scipy(Python)使经验分布适合理论分布吗?
简介:我列出了30,000多个整数值,范围从0到47(含0和47),例如[0,0,0,0,..,1,1,1,1,...,2,2,2,2,...,47,47,47,...]从某个连续分布中采样。列表中的值不一定按顺序排列,但顺序对于此问题并不重要。 问题:根据我的分布,我想为任何给定值计算p值(看到更大值的概率)。例如,您可以看到0的p值将接近1,数字较大的p值将趋于0。 我不知道我是否正确,但是为了确定概率,我认为我需要使我的数据适合最适合描述我的数据的理论分布。我认为需要某种拟合优度检验来确定最佳模型。 有没有办法在Python(Scipy或Numpy)中实现这种分析?你能举个例子吗? 谢谢!

5
使用Matplotlib绘制2D热图
我想使用Matplotlib绘制2D热图。我的数据是一个n×n的Numpy数组,每个数组的值都在0到1之间。因此,对于该数组的(i,j)元素,我想在我的(i,j)坐标上绘制一个正方形热图,其颜色与数组中元素的值成比例。 我怎样才能做到这一点?
139 python  numpy  matplotlib 


7
如何将NumPy数组标准化到一定范围内?
在对音频或图像阵列进行一些处理之后,需要先在一定范围内对其进行标准化,然后才能将其写回到文件中。可以这样完成: # Normalize audio channels to between -1.0 and +1.0 audio[:,0] = audio[:,0]/abs(audio[:,0]).max() audio[:,1] = audio[:,1]/abs(audio[:,1]).max() # Normalize image to between 0 and 255 image = image/(image.max()/255.0) 有没有那么繁琐,方便的函数方式来做到这一点?matplotlib.colors.Normalize()似乎无关。

3
遍历一个numpy数组
有没有那么冗长的替代方案: for x in xrange(array.shape[0]): for y in xrange(array.shape[1]): do_stuff(x, y) 我想出了这个: for x, y in itertools.product(map(xrange, array.shape)): do_stuff(x, y) 这节省了一个缩进,但仍然很丑陋。 我希望看起来像这样的伪代码: for x, y in array.indices: do_stuff(x, y) 有没有类似的东西存在?
135 python  numpy 

26
ImportError:numpy.core.multiarray导入失败
我正在尝试运行该程序 import cv2 import time cv.NamedWindow("camera", 1) capture = cv.CaptureFromCAM(0) while True: img = cv.QueryFrame(capture) cv.ShowImage("camera", img) if cv.WaitKey(10) == 27: break cv.DestroyAllWindows() 但是我遇到了numpy的问题,我在将pyschopy和opencv一起使用。我不断收到的问题是此错误报告: RuntimeError:针对API版本7编译的模块,但此版本的numpy为6 追溯(最近一次通话): 文件“ C:\ Users \ John \ Documents \ EyeTracking \ Programs \ GetImage.py”,第1行,在 import cv2 ImportError:numpy.core.multiarray导入失败 我在psychopy文件夹中有numpy-1.6.1-py2.7,我只是对什么错感到困惑? 编辑(删除的答案) 以下命令 pip install -U numpy 帮助解决问题: …
135 opencv  python-2.7  numpy 

6
Cython:“严重错误:numpy / arrayobject.h:没有此类文件或目录”
我试图加快答案在这里使用用Cython。我尝试编译代码(在完成此处cygwinccompiler.py介绍的hack 之后),但出现错误。谁能告诉我我的代码是否有问题,或者Cython有点神秘?fatal error: numpy/arrayobject.h: No such file or directory...compilation terminated 下面是我的代码。 import numpy as np import scipy as sp cimport numpy as np cimport cython cdef inline np.ndarray[np.int, ndim=1] fbincount(np.ndarray[np.int_t, ndim=1] x): cdef int m = np.amax(x)+1 cdef int n = x.size cdef unsigned int i cdef np.ndarray[np.int_t, ndim=1] c …


3
numpy,scipy,matplotlib和pylab之间的混淆
Numpy,scipy,matplotlib和pylab是使用python进行科学计算的常用术语。 我只是学习了一些有关pylab的知识,而感到困惑。每当我要导入numpy时,我都可以执行以下操作: import numpy as np 我只是认为,一旦我这样做 from pylab import * numpy也将被导入(使用np别名)。所以基本上,第二个相比第一个做更多的事情。 我想问的几件事: pylab仅仅是numpy,scipy和matplotlib的包装吗? 由于NP是pylab中的numpy别名,因此pylab中的scipy和matplotlib别名是什么?(据我所知,plt是matplotlib.pyplot的别名,但我不知道matplotlib本身的别名)

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.