Numpy基础快速入门
数组
array是用来存储同类型的序列数据
创建数组
一维数组
1 import numpy as np
1 data=[1,2,3,4]
1 array1=np.array(data) 2 array1
array([1, 2, 3, 4])
二维数组
1 np.zeros((4,3)) 2 #创建值为0的4行3列数组
array([[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]])
三维数组
1 np.ones((4,3,2))#创建值为1的4行3列2通道数组
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 np.empty((3,3,2))#创建一个没有任何价值的数组
array([[[2.12831349e-314, 6.92945393e-310],
[2.12831396e-314, 6.92945488e-310],
[2.12831349e-314, 6.92945487e-310]],
[[2.12831396e-314, 6.92945488e-310],
[2.12831349e-314, 6.92945412e-310],
[2.12831396e-314, 6.92945488e-310]],
[[2.12831349e-314, 6.92945488e-310],
[2.12831349e-314, 6.92945488e-310],
[6.92945513e-310, 6.92945411e-310]]])
shape的改变
1 t1=np.ones((5,3,2))
1 t1.T 2 #转置即5,3,2变为2,3,5
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 t1.reshape(5,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.]])
数据类型
dtype判断数据类型
1 t1.dtype
dtype('float64')
astype转换数据类型
1 t1.astype("int").dtype
dtype('int64')
随机数
1 np.random.rand(3,2,3) 2 #产生随机数,参数为维度
array([[[0.05824563, 0.8639261 , 0.27726788],
[0.00337193, 0.26574333, 0.73263505]],
[[0.20499056, 0.20134696, 0.48987449],
[0.30061665, 0.075293 , 0.78492684]],
[[0.24319275, 0.05216592, 0.18046824],
[0.21499831, 0.88896836, 0.25639316]]])
1 np.random.randn(3,2,3) 2 #特殊的rand,只是产生的数据为标准正态分布
array([[[-0.19575037, -0.40615904, -0.35951952],
[-0.17216237, -0.29834999, 0.39763171]],
[[-0.85756453, -0.59599872, -0.64539564],
[-0.43278405, 0.40933633, 1.78710403]],
[[ 0.77254905, 0.3820515 , -1.40689169],
[-1.29824478, 0.78749379, -0.29250324]]])
1 np.random.randint(8,15,size=(3,4)) 2 #第一个参数随机数不小于的最小值,第二参数最大值,size填维度
array([[10, 11, 13, 13],
[11, 11, 12, 11],
[ 8, 9, 11, 12]])
1 np.random.random((3,4)) 2 #产生0到1的随机数,维度需要用tuple括起来
array([[0.56382065, 0.02958389, 0.43581952, 0.38992685],
[0.62231146, 0.55219146, 0.9801636 , 0.90730928],
[0.33296925, 0.76918661, 0.55217904, 0.97072233]])
索引
和list的所以基本一致
1 t2=np.random.randint(2,8,size=(5,6)) 2 t2
array([[4, 6, 6, 2, 5, 2],
[5, 6, 2, 6, 5, 5],
[3, 5, 3, 4, 5, 2],
[5, 2, 3, 2, 3, 6],
[3, 2, 2, 7, 2, 7]])
1 t2[1:4,[2,3]]
array([[2, 6],
[3, 4],
[3, 2]])
1 t2[[2,3],[2,3]]
array([3, 2])
常用函数
1 np.unique(t2) # 去重函数
array([2, 3, 4, 5, 6, 7])
1 sum(t2) # 求各列的和
array([20, 22, 19, 24, 23, 22])
1 sum(t2[0]) # 求第0行的和
24
1 sum(t2[:,0]) # 求第0列的和
20
1 np.arange(10)#数组版的range
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
还有max,min,mean,std等函数

浙公网安备 33010602011771号