Numpy是Python的一个很重要的第三方库,很多其他科学计算的第三方库都是以Numpy为基础建立的。
Numpy的一个重要特性是它的数组计算。
在使用Numpy之前,我们需要导入numpy
包:
from numpy import *
使用前一定要先导入 Numpy 包,导入的方法有以下几种:
import numpy
import numpy as np
from numpy import *
from numpy import array, sin
事实上,在ipython中可以使用magic命令来快速导入Numpy的内容。
%pylab
假如我们想将列表中的每个元素增加1
,但列表不支持这样的操作(报错):
a = [1, 2, 3, 4]
a + 1
转成 array
:
a = array(a)
a
array
数组支持每个元素加 1
这样的操作:
a + 1
与另一个 array
相加,得到对应元素相加的结果:
b = array([2, 3, 4, 5])
a + b
对应元素相乘:
a * b
对应元素乘方:
a ** b
提取第一个元素:
a[0]
提取前两个元素:
a[:2]
最后两个元素:
a[-2:]
将它们相加:
a[:2] + a[-2:]
查看 array
的形状:
a.shape
修改 array
的形状:
a.shape = 2,2
a
a
现在变成了一个二维的数组,可以进行加法:
a + a
乘法仍然是对应元素的乘积,并不是按照矩阵乘法来计算:
a * a
linspace 用来生成一组等间隔的数据:
a = linspace(0, 2*pi, 21)
%precision 3
a
三角函数:
b = sin(a)
b
画出图像:
%matplotlib inline
plot(a, b)
假设我们想选取数组b中所有非负的部分,首先可以利用 b
产生一组布尔值:
b >= 0
mask = b >= 0
画出所有对应的非负值对应的点:
plot(a[mask], b[mask], 'ro')