Numpy基本操作学习
Numpy
import numpy as np # 导入numpy库
arr1 = np.array([9,5,7,8]) # 创建一维数组
# array([9, 5, 7, 8])
# 创建一维数组并指定元素类型为‘str’
arr2 = np.array([-9,7,4,3],dtype='str')
# array(['-9', '7', '4', '3'], dtype='<U2')
# 创建二维数组
arr3 = np.array([[1,2,3,4],[4,5,6,7],[9,6,3,8]])
# array([[1, 2, 3, 4],
# [4, 5, 6, 7],
# [9, 6, 3, 8]])
arange:
# 从0开始 10截止 左开右闭 步长0.5
np.arange(0,10,0.5)
# array([0. , 0.5, 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5, 5. , 5.5, 6. ,
# 6.5, 7. , 7.5, 8. , 8.5, 9. , 9.5])
linspace:
# 步长 = (10-1)/(11-1)
np.linspace(1,10,10)
# array([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.])
np.linspace(1,10,11)
# array([ 1. , 1.9, 2.8, 3.7, 4.6, 5.5, 6.4, 7.3, 8.2, 9.1, 10. ])
np.linspace(1,10,10,endpoint=False)
# array([1. , 1.9, 2.8, 3.7, 4.6, 5.5, 6.4, 7.3, 8.2, 9.1])
logspace:
# 从一到五 等比数列 以二为底 十个数为幂
np.logspace(1,5,base=2,num=10)
# array([ 2. , 2.72158 , 3.70349885, 5.0396842 , 6.85795186,
# 9.33223232, 12.69920842, 17.28095582, 23.51575188, 32. ])
与上等效
2 ** np.linspace(1,5,10)
# array([ 2. , 2.72158 , 3.70349885, 5.0396842 , 6.85795186,
# 9.33223232, 12.69920842, 17.28095582, 23.51575188, 32. ])
zeros:
# 五行五列 以0补充
np.zeros([5,5])
# array([[0., 0., 0., 0., 0.],
# [0., 0., 0., 0., 0.],
# [0., 0., 0., 0., 0.],
# [0., 0., 0., 0., 0.],
# [0., 0., 0., 0., 0.]])
ones:
# 以 1 补充 七行七列
np.ones([7,6])
# array([[1., 1., 1., 1., 1., 1.],
# [1., 1., 1., 1., 1., 1.],
# [1., 1., 1., 1., 1., 1.],
# [1., 1., 1., 1., 1., 1.],
# [1., 1., 1., 1., 1., 1.],
# [1., 1., 1., 1., 1., 1.],
# [1., 1., 1., 1., 1., 1.]])
eye:
# 六行六列 对角线为1
np.eye(6)
# array([[1., 0., 0., 0., 0., 0.],
# [0., 1., 0., 0., 0., 0.],
# [0., 0., 1., 0., 0., 0.],
# [0., 0., 0., 1., 0., 0.],
# [0., 0., 0., 0., 1., 0.],
# [0., 0., 0., 0., 0., 1.]])
diag:
# 三行三列 对角线 4 5 8
np.diag([4,5,8])
# array([[4, 0, 0],
# [0, 5, 0],
# [0, 0, 8]])
shape:
arr3
# array([[1, 2, 3, 4],
# [4, 5, 6, 7],
# [9, 6, 3, 8]])
# 返回尺寸,三行四列
arr3.shape
# (3, 4)
ndim:
# 返回一个int类型的数据,表示ndarry的维度
arr3.ndim
# 2
size:
# 返回数组的元素个数
arr3.size
# 12
dtype:
# 返回数组中的元素类型
arr3.dtype
# dtype('int32')