numpy 模块
内容基于jupyter notebook而来,In [*]以下内容为代码,Out[*]为输出结果;
由于执行顺序不一样,可能会有些数据上下文衔接不上,重点是使用方法。
- NumPy(Numerical Python) 是 Python 语言中做科学计算的基础库。重在于数值计算,也是大部分Python科学计算库的基础,多用于在大型、多维数组上执行的数值运算。
In [3]:
import numpy as np
# 使用array()来创建一个一维数组
arr = np.array([1,2,3,4,5])
arr
Out[3]:
array([1, 2, 3, 4, 5])
In [6]:
# 使用array()来创建一个多维数组
np.array([[1,2,3,4,5],[6,7,8,9,10]])
Out[6]:
array([[ 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10]])
数组中存储的数据元素类型必须是统一类型
优先级:字符串 > 浮点型 > 整数
In [7]:
np.array([[1,2,3],[4.1,5,6]])
Out[7]:
array([[1. , 2. , 3. ],
[4.1, 5. , 6. ]])
用numpy的routines函数来创建数组:zeros(),ones(),linespace(),arange(),random
In [35]:
np.zeros(5)
Out[35]:
array([0., 0., 0., 0., 0.])
In [36]:
np.ones(shape=(2,3))
Out[36]:
array([[1., 1., 1.],
[1., 1., 1.]])
In [38]:
np.linspace(0,20,num=4)
Out[38]:
array([ 0. , 6.66666667, 13.33333333, 20. ])
In [39]:
np.arange(0,20,step=2)
Out[39]:
array([ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18])
In [42]:
# 随机
np.random.randint(0,20,size=(2,3))
Out[42]:
array([[ 7, 19, 17],
[ 8, 3, 14]])
In [46]:
# 固定随机性
# np.random.seed()的作用: 当设置相同的seed时,每次生成的随机数也相同,如果不设置seed,则每次生成的随机数都会不一样
np.random.seed(23)
np.random.randint(0,20,size=(2,3))
Out[46]:
array([[19, 6, 8],
[ 9, 8, 13]])
In [47]:
arr.shape # 形状
Out[47]:
(2, 5)
In [48]:
arr.ndim #维度
Out[48]:
2
In [49]:
arr.size # 返回元素个数
Out[49]:
10
In [53]:
type(arr)
Out[53]:
numpy.ndarray
In [50]:
arr.dtype # 数组元素类型
Out[50]:
dtype('int32')
array(dtype=?):可以设定数据类型
arr.dtype = '?':可以修改数据类型
In [114]:
arr = np.random.randint(0,100,size=(5,7))
arr
Out[114]:
array([[34, 0, 91, 11, 62, 96, 88],
[54, 89, 78, 41, 70, 85, 5],
[ 7, 4, 16, 9, 56, 48, 43],
[62, 70, 31, 2, 0, 15, 32],
[48, 15, 61, 2, 34, 22, 42]])
In [115]:
# 取第2行的数据,下标从0开始计算
arr[2]
Out[115]:
array([ 7, 4, 16, 9, 56