zoukankan      html  css  js  c++  java
  • 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等函数
    
    
     
    
    
     
     
  • 相关阅读:
    MongoDB入门(1)--安装配置
    数据结构课程设计--平衡二叉树
    站立会议
    NABCD
    返回最大子数和(首位相连)
    返回一个数组中的最大子数组和
    最大数组BT
    最大数组
    时间记录日志
    四则运算的问题
  • 原文地址:https://www.cnblogs.com/ye20190812/p/13440998.html
Copyright © 2011-2022 走看看