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等函数

 

 
 

 

posted @ 2020-08-05 16:51  瑶池里  阅读(125)  评论(0编辑  收藏  举报