Questions tagged «numpy»

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

11
在numpy数组上映射函数的最有效方法
在numpy数组上映射函数的最有效方法是什么?我在当前项目中一直采用的方式如下: import numpy as np x = np.array([1, 2, 3, 4, 5]) # Obtain array of square of each element in x squarer = lambda t: t ** 2 squares = np.array([squarer(xi) for xi in x]) 但是,这似乎效率很低,因为我正在使用列表推导将新数组构造为Python列表,然后再将其转换回numpy数组。 我们可以做得更好吗?




7
熊猫read_csv low_memory和dtype选项
打电话时 df = pd.read_csv('somefile.csv') 我得到: /Users/josh/anaconda/envs/py27/lib/python2.7/site-packages/pandas/io/parsers.py:1130:DtypeWarning:列(4,5,7,16)具有混合类型。在导入时指定dtype选项,或将low_memory = False设置为false。 为什么dtype选项与关联low_memory,为什么使它False有助于解决此问题?

6
numpy.array形状(R,1)和(R,)之间的区别
进入时numpy,一些操作恢复了形状,(R, 1)但有些恢复了(R,)。由于reshape需要显式运算,因此这将使矩阵乘法更加乏味。例如,给定矩阵M,如果我们想在numpy.dot(M[:,0], numpy.ones((1, R)))哪里做R行数(当然,同样的问题也会逐列出现)。我们会得到matrices are not aligned错误,因为M[:,0]是在外形(R,),但numpy.ones((1, R))在形状(1, R)。 所以我的问题是: 什么形状之间的差异(R, 1)和(R,)。我从字面上知道它是数字列表和列表列表,其中所有列表仅包含一个数字。只是想知道为什么不设计numpy使其偏爱形状(R, 1)而不是(R,)更容易进行矩阵乘法。 以上示例是否有更好的方法?无需像这样显式重塑:numpy.dot(M[:,0].reshape(R, 1), numpy.ones((1, R)))

5
熊猫根据其他列的值创建新列/逐行应用多列的功能
我想申请我的自定义函数(它使用的if-else梯)这六个列(ERI_Hispanic,ERI_AmerInd_AKNatv,ERI_Asian,ERI_Black_Afr.Amer,ERI_HI_PacIsl,ERI_White我的数据帧的每一行中)。 我尝试了与其他问题不同的方法,但似乎仍然找不到适合我问题的正确答案。关键在于,如果该人被视为西班牙裔,就不能被视为其他任何人。即使他们在另一个种族栏中的得分为“ 1”,他们仍然被视为西班牙裔,而不是两个或两个以上的种族。同样,如果所有ERI列的总和大于1,则将它们计为两个或多个种族,并且不能计为唯一的种族(西班牙裔除外)。希望这是有道理的。任何帮助将不胜感激。 这几乎就像在每行中进行一个for循环一样,如果每条记录都符合条件,则将它们添加到一个列表中并从原始列表中删除。 从下面的数据框中,我需要根据以下SQL规范来计算新列: ===================================================== ======= IF [ERI_Hispanic] = 1 THEN RETURN “Hispanic” ELSE IF SUM([ERI_AmerInd_AKNatv] + [ERI_Asian] + [ERI_Black_Afr.Amer] + [ERI_HI_PacIsl] + [ERI_White]) > 1 THEN RETURN “Two or More” ELSE IF [ERI_AmerInd_AKNatv] = 1 THEN RETURN “A/I AK Native” ELSE IF [ERI_Asian] = 1 THEN RETURN “Asian” …
316 python  pandas  numpy  apply 

8
熊猫有条件地创建系列/数据框列
我有下面的数据框: Type Set 1 A Z 2 B Z 3 B X 4 C Y 我想向数据框添加另一列(或生成一系列),该列的长度与数据框的长度相同(=记录/行的数目相等),如果Set ='Z'则设置为绿色,如果Set ='否则为'red' 。 最好的方法是什么?

12
如何在NumPy中创建一个空数组/矩阵?
我无法弄清楚如何以通常使用列表的方式使用数组或矩阵。我想创建一个空数组(或矩阵),然后一次向其中添加一列(或行)。 目前,我能找到的唯一方法是: mat = None for col in columns: if mat is None: mat = col else: mat = hstack((mat, col)) 而如果这是一个列表,我会做这样的事情: list = [] for item in data: list.append(item) 有没有办法对NumPy数组或矩阵使用这种表示法?
310 python  arrays  numpy 

6
Python / NumPy中的meshgrid的用途是什么?
有人可以向我解释meshgridNumpy 中功能的目的是什么?我知道它会为绘图创建某种坐标网格,但是我真的看不到它的直接好处。 我正在研究Sebastian Raschka的“ Python机器学习”,他正在使用它来绘制决策边界。请参阅此处的输入11 。 我也从官方文档中尝试过此代码,但是再次,输出对我来说真的没有意义。 x = np.arange(-5, 5, 1) y = np.arange(-5, 5, 1) xx, yy = np.meshgrid(x, y, sparse=True) z = np.sin(xx**2 + yy**2) / (xx**2 + yy**2) h = plt.contourf(x,y,z) 请,如果可能的话,还请给我展示很多真实的例子。





16
如何在NumPy数组中添加额外的列
假设我有一个NumPy数组a: a = np.array([ [1, 2, 3], [2, 3, 4] ]) 我想添加一列零以获取一个数组b: b = np.array([ [1, 2, 3, 0], [2, 3, 4, 0] ]) 我如何在NumPy中轻松做到这一点?
292 python  numpy 

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.