Tag: numpy

numpy中的flatten和ravel函数有什么区别?

import numpy as np y = np.array(((1,2,3),(4,5,6),(7,8,9))) OUTPUT: print(y.flatten()) [1 2 3 4 5 6 7 8 9] print(y.ravel()) [1 2 3 4 5 6 7 8 9] 两个函数都返回相同的列表。 那么执行同样工作的两种不同function需要什么呢?

使用pip安装SciPy和NumPy

我试图在我分发的包中创build所需的库。 它需要SciPy和NumPy库。 在开发的同时,我安装了两个使用 apt-get install scipy 它安装了SciPy 0.9.0和NumPy 1.5.1,并且工作正常。 我想用pip install来做同样的事情 – 为了能够在我自己的包的setup.py中指定依赖关系。 问题是,当我尝试: pip install 'numpy==1.5.1' 它工作正常。 但是之后 pip install 'scipy==0.9.0' 悲惨地失败了 raise self.notfounderror(self.notfounderror.__doc__) numpy.distutils.system_info.BlasNotFoundError: Blas (http://www.netlib.org/blas/) libraries not found. Directories to search for the libraries can be specified in the numpy/distutils/site.cfg file (section [blas]) or by setting the BLAS environment variable. 我如何得到它的工作?

如何在pandas中获取dataframe的分片

我从csv文件加载一些机器学习数据。 前两列是观察值,其余列是特征。 目前,我做了以下几点: data = pandas.read_csv('mydata.csv') 这给了一些像: data = pandas.DataFrame(np.random.rand(10,5), columns = list('abcde')) 我想在两个数据框中分割这个dataframe:一个包含列a和b ,另一个包含列c , d和e 。 写这样的东西是不可能的 observations = data[:'c'] features = data['c':] 我不确定最好的方法是什么。 我需要一个pd.Panel吗? 顺便说一下,我发现dataframe索引相当不一致: data['a']是允许的,但data[0]不是。 另一方面, data['a':]是不允许的,但data[0:]是。 这有没有一个实际的理由? 假如data[0] != data[0:1]

如何在NumPy中创build一个空的数组/matrix?

我不知道如何以我通常使用列表的方式使用数组或matrix。 我想创build一个空的数组(或matrix),然后添加一列(或行)到它一次。 目前唯一能find的方法就是: 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数组或matrix的那种符号?

按列sortingNumPy中的数组

我怎样才能sorting在NumPy第n列数组? 例如, a = array([[1, 2, 3], [4, 5, 6], [0, 0, 1]]) 我想在第二列中sorting行,这样我就回来了: array([[0, 0, 1], [1, 2, 3], [4, 5, 6]])

在python3中的StringIO

我正在使用Python 3.2.1,我无法导入StringIO模块。 我使用io.StringIO ,它的工作原理,但我不能用这样的numpy的genfromtxt : x="1 3\n 4.5 8" numpy.genfromtxt(io.StringIO(x)) 我得到以下错误: TypeError: Can't convert 'bytes' object to str implicitly 当我写入import StringIO它说没有这样的模块。

最有效的方法来颠倒numpy数组

信不信由你,在分析我现在的代码之后,numpy数组反转的重复操作吃了大量的运行时间。 我现在所拥有的是基于普遍观点的方法: reversed_arr = arr[::-1] 还有没有其他办法可以更有效地做到这一点,还是仅仅是因为我对不切实际的颠簸performance的痴迷而产生的幻想呢?

如何将二维浮点numpy数组转换为二维int numpy数组?

如何将真正的numpy数组转换为int numpy数组? 试图直接使用地图数组,但它没有工作。

scipy和numpy之间的关系

scipy似乎在自己的命名空间中提供了大部分(但不是全部[1])的numpy函数。 换句话说,如果有一个名为numpy.foo的函数,几乎肯定有一个scipy.foo 。 大多数时候,两者看起来完全一样,往往甚至指向相同的function对象。 有时候,他们是不同的。 举一个最近出现的例子: numpy.log10是一个numpy.log10 ,返回负数参数的NaN; scipy.log10为负面参数返回复数值,并且看起来不是scipy.log10 。 关于log , log2和logn也可以这样说,但不是关于log1p [2]。 另一方面,对于相同的scipy.exp , numpy.exp和scipy.exp似乎是不同的名称。 scipy.log1p和numpy.log1p也是如此。 另一个例子是numpy.linalg.solve vs scipy.linalg.solve 。 他们是相似的,但后者提供了一些额外的function,前者。 为什么表面上的重复? 如果这是为了批量导入scipy命名空间,为什么行为和缺失函数的细微差别? 是否有一些总体逻辑可以帮助消除混淆? [1] numpy.min , numpy.max , numpy.abs和其他一些在scipy命名空间中没有对应的。 [2]使用numpy 1.5.1和scipy 0.9.0rc2进行testing。

如何漂亮打印numpy.array没有科学记数法和给定的精度?

我很好奇,是否有任何方式打印格式numpy.arrays,例如,类似于这样的: x = 1.23456 print '%.3f' % x 如果我想打印浮点数的numpy.array,它打印几个小数,通常是'科学'的格式,这是很难读,即使是低维数组。 但是,numpy.array显然必须作为string打印,即%s。 有没有解决这个问题的方法?