Python数据分析之numpy学习

Python模块中的numpy,这是一个处理数组的强大模块,而该模块也是其他数据分析模块(如pandas和scipy)的核心。  

接下面将从这5个方面来介绍numpy模块的内容:

 1)数组的创建 

 2)有关数组的属性和函数 

 3)数组元素的获取--普通索引、切片、布尔索引和花式索引 

 4)统计函数与线性代数运算 

 5)随机数的生成 

数组的创建 numpy中使用array()函数创建数组,array的首个参数一定是一个序列,可以是元组也可以是列表。 一维数组的创建 可以使用numpy中的arange()函数创建一维有序数组,它是内置函数range的扩展版。 

 In [1]: import numpy as np 

 In [2]: ls1 = range(10) 

 In [3]: list(ls1) Out[3]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 

 In [4]: type(ls1) Out[4]: range 

 In [5]: ls2 = np.arange(10) 

 In [6]: list(ls2) Out[6]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 

 In [7]: type(ls2) Out[7]: numpy.ndarray 

通过arange生成的序列就不是简简单单的列表类型了,而是一个一维数组。 如果一维数组不是一个规律的有序元素,而是人为的输入,就需要array()函数创建了。

 In [8]: arr1 = np.array((1,20,13,28,22)) 

 In [9]: arr1 Out[9]: array([ 1, 20, 13, 28, 22]) 

 In [10]: type(arr1) Out[10]: numpy.ndarray 

 上面是由元组序列构成的一维数组。 

 In [11]: arr2 = np.array([1,1,2,3,5,8,13,21])     

 In [12]: arr2 Out[12]: array([ 1,  1,  2,  3,  5,  8, 13, 21]) 

 In [13]: type(arr2) Out[13]: numpy.ndarray 

 上面是由列表序列构成的一维数组。

二维数组的创建 

 二维数组的创建,其实在就是列表套列表或元组套元组。 

 In [14]: arr3 = np.array(((1,1,2,3),(5,8,13,21),(34,55,89,144))) 

 In [15]: arr3 Out[15]: array([[  1,   1,   2,   3], [  5,   8,  13,  21], [ 34,  55,  89, 144]]) 

 上面使用元组套元组的方式。 

 In [16]: arr4 = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]]) 

 In [17]: arr4 Out[17]: array([[ 1,  2,  3,  4], [ 5,  6,  7,  8], [ 9, 10, 11, 12]]) 

上面使用列表套列表的方式。  

对于高维数组在将来的数据分析中用的比较少,这里关于高维数组的创建就不赘述了,构建方法仍然是套的方式。

评论留言
    暂无评论
发表评论