1. NumPy安装
使用pip包管理工具进行安装
代码如下:
$ sudo pip install numpy
使用pip包管理工具安装ipython(交互式shell工具)
代码如下:
$ sudo pip instlal ipython
$ ipython --pylab #pylab模式下, 会自动导入SciPy, NumPy, Matplotlib模块
2. NumPy基础
2.1. NumPy数组对象
具体解释可以看每一行代码后的解释和输出
代码如下:
In [1]: a = arange(5) # 创建数据
In [2]: a.dtype
Out[2]: dtype('int64') # 创建数组的数据类型
In [3]: a.shape # 数组的维度, 输出为tuple
Out[3]: (5,)
In [6]: m = array([[1, 2], [3, 4]]) # array将list转换为NumPy数组对象
In [7]: m # 创建多维数组
Out[7]:
array([[1, 2],
[3, 4]])
In [10]: m.shape # 维度为2 * 2
Out[10]: (2, 2)
In [14]: m[0, 0] # 访问多维数组中特定位置的元素, 下标从0开始
Out[14]: 1
In [15]: m[0, 1]
Out[15]: 2
2.2. 数组的索引和切片
代码如下:
In [16]: a[2: 4] # 切片操作类似与Python中list的切片操作
Out[16]: array([2, 3])
In [18]: a[2 : 5: 2] # 切片步长为2
Out[18]: array([2, 4])
In [19]: a[ : : -1] # 翻转数组
Out[19]: array([4, 3, 2, 1, 0])
In [20]: b = arange(24).reshape(2, 3, 4) # 修改数组的维度
In [21]: b.shape
Out[21]: (2, 3, 4)
In [22]: b # 打印数组
Out[22]:
array([[[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]],
[[12, 13, 14, 15],
[16, 17, 18, 19],
[20, 21, 22, 23]]])
In [23]: b[1, 2, 3] # 选取特定元素
Out[23]: 23
In [24]: b[ : , 0, 0] # 忽略某个下标可以用冒号代替
Out[24]: array([ 0, 12])
In [23]: b[1, 2, 3]
Out[23]: 23
In [24]: b[ : , 0, 0] # 忽略多个下标可以使用省略号代替
Out[24]: array([ 0, 12])
In [26]: b.ravel() # 数组的展平操作
Out[26]:
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23])
In [27]: b.flatten() # 与revel功能相同, 这个函数会请求分配内存来保存结果
Out[27]:
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23])
In [30]: b.shape = (6, 4) # 可以直接对shape属性赋值元组来设置维度
In [31]: b
新闻热点
疑难解答