数组属性和基本操作

数组属性和基本操作

np.arange(start=150,stop=0,step=-1)

  • 将值倒过来
import numpy as np
#matplotlib画图的,也可以读取图片
import matplotlib.pyplot as plt
np.arange(150, 1, step=-1)
  • 输出

    array([150, 149, 148, 147, 146, 145, 144, 143, 142, 141, 140, 139, 138,
    137, 136, 135, 134, 133, 132, 131, 130, 129, 128, 127, 126, 125,
    124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112,
    111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99,
    98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86,
    85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73,
    72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60,
    59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47,
    46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34,
    33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21,
    20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8,
    7, 6, 5, 4, 3, 2])

2.7 随机数组抽样

1.生成随机的整数型矩阵

np.random.randint(low=0,high=150,size=(5,4))

  • low 表示的是最小值
  • high 表示最大值
  • size 是一个元祖类型
nd1 = np.random.randint(0, 155, size=(5, 4))
display(nd1.dtype)
  • 输出

    dtype(‘int32’)

2. 标准的正态分布

np.random.randn(10,5)

  • 输出
    没有固定的参数,每多加一个数字,代表多真假一个维度


nd2 = np.random.randn(10, 5)
nd2
  • 输出

    array([[-7.17465685e-02, 8.97999644e-01, -1.01189107e+00,
    6.29572791e-01, -1.80740610e-01],
    [ 8.13237248e-01, 6.24399001e-01, -1.01024921e+00,
    -1.39402595e+00, 1.73300388e+00],
    [ 5.65812188e-01, -3.41566690e-01, 6.18996387e-01,
    -1.06630093e+00, 1.13662646e+00],
    [-1.90524270e-01, 4.14243506e-01, 2.99203707e-01,
    3.91685734e-02, -4.20081127e-01],
    [ 3.35201508e-01, 3.06824463e-02, 4.29531982e-01,
    2.65788533e-01, 9.24575924e-01],
    [ 6.00198193e-01, -8.21467127e-01, 1.10462529e+00,
    2.74473179e-01, 7.58630288e-01],
    [-5.74027894e-01, 2.38057571e-01, -1.34492521e+00,
    3.42149500e-01, -2.52783483e-01],
    [ 1.65575102e+00, -2.05932806e-01, -1.00664911e+00,
    -1.00871681e+00, -3.91605776e-01],
    [ 4.93294769e-01, 4.30644126e-02, 3.20789124e-01,
    1.00034941e+00, 1.00526627e-01],
    [ 1.47097903e-03, 2.69390841e-01, 3.96618545e-03,
    -2.89304322e-01, -3.07926840e-01]])

3.随机抽样

np.random.random(size=(456,730,3))

  • size 表示形状
nd3 = np.random.random(size=(456, 730, 3))

# size 表示形状
# random随机生成0-1
plt.imshow(nd3)
<matplotlib.image.AxesImage at 0xed4e6d8>

这里写图片描述

nd3.dtype
  • 输出

    dtype(‘float64’)

4.标准方差,代表数据的稳定性

np.random.normal(loc=170,scale=100,size=50)

normal也是一个正态分布的一个方法

生成一个一维数组
- location 是定位的的值
- scale 是波动值
- size 是数据长度

nd4 = np.random.normal(loc=200, scale=100, size=50)
nd4
  • 输出

    array([-56.02232919, 153.45697237, 211.4699278 , 175.8184369 ,
    77.18195801, 316.30562106, 251.55919822, 249.03665012,
    214.84112035, 214.60311729, 60.12026691, 163.53327963,
    117.85773035, 169.87077409, 185.35857895, 336.48425501,
    168.53226238, 263.93486349, 285.09881005, 224.79650831,
    242.71883123, 233.49179984, 285.41369792, 126.59530067,
    194.95166998, 191.40061835, 288.26058067, 233.28608553,
    431.90448377, 162.51105433, 396.13946643, 104.43390237,
    74.23309279, 336.54800229, 92.09935907, 410.05980147,
    145.4054326 , 188.42084088, 272.32293993, 156.79765209,
    208.25501995, 252.51071293, 255.60679396, 194.88091883,
    203.67786615, 239.83429384, 292.21927586, 228.09728718,
    190.78466303, 258.07911366])

5.随机数

每一个数据,都是一个维度
rand 和 random 的区别:random 需要 size来描述形状,而rand只需要我们直接给值,通过值的数量来确定形状
np.random.rand(d1,d2,dn)

nd5 = np.random.rand(456, 730, 3)
nd5
  • 输出

    array([[[0.48251924, 0.58360837, 0.50571184],
    [0.84015656, 0.64538107, 0.27610826],
    [0.91038242, 0.76890052, 0.21667493],
    …,
    [0.54192019, 0.5773379 , 0.97012533],
    [0.67118332, 0.482776 , 0.83270159],
    [0.05082725, 0.12324931, 0.43254904]],

       [[0.59763352, 0.82346195, 0.05238808],
        [0.88013475, 0.32720737, 0.66413674],
        [0.78427348, 0.7540094 , 0.31645346],
        ...,
        [0.486801  , 0.48158342, 0.79319007],
        [0.74409383, 0.33681167, 0.70245972],
        [0.8459772 , 0.30818404, 0.8559085 ]],
    
       [[0.95734985, 0.02237371, 0.19859254],
        [0.40804435, 0.46756388, 0.14389389],
        [0.84333377, 0.45708618, 0.93690335],
        ...,
        [0.95090075, 0.24181324, 0.60599297],
        [0.29234272, 0.08784666, 0.60669042],
        [0.38705636, 0.63969406, 0.39367339]],
    
       ...,
    
       [[0.60636193, 0.81418486, 0.55794838],
        [0.99319523, 0.89525226, 0.3027485 ],
        [0.11739645, 0.47303434, 0.77561122],
        ...,
        [0.15309203, 0.94459511, 0.97619881],
        [0.67865788, 0.0357113 , 0.33575641],
        [0.16167815, 0.04022808, 0.36632257]],
    
       [[0.67613125, 0.72950058, 0.45039344],
        [0.97297441, 0.04063427, 0.97781784],
        [0.30074768, 0.0473752 , 0.36833314],
        ...,
        [0.58241118, 0.71152678, 0.23845613],
        [0.76157266, 0.67666114, 0.94035192],
        [0.79084713, 0.89129279, 0.93983466]],
    
       [[0.24880475, 0.41904647, 0.4706133 ],
        [0.00705752, 0.67130627, 0.46979071],
        [0.1794662 , 0.34267615, 0.37759805],
        ...,
        [0.56038342, 0.82268221, 0.16605486],
        [0.58547802, 0.2627139 , 0.59724263],
        [0.25576816, 0.23193501, 0.1962647 ]]])
    
plt.imshow(nd5)
<matplotlib.image.AxesImage at 0xf56b320>

这里写图片描述

2.9 linspace 与 logspace

linspace是线性生成的,是全闭区间

回忆一下

nd6 = np.linspace(0, 150, num=151)
nd6
  • 输出

    array([ 0., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.,
    11., 12., 13., 14., 15., 16., 17., 18., 19., 20., 21.,
    22., 23., 24., 25., 26., 27., 28., 29., 30., 31., 32.,
    33., 34., 35., 36., 37., 38., 39., 40., 41., 42., 43.,
    44., 45., 46., 47., 48., 49., 50., 51., 52., 53., 54.,
    55., 56., 57., 58., 59., 60., 61., 62., 63., 64., 65.,
    66., 67., 68., 69., 70., 71., 72., 73., 74., 75., 76.,
    77., 78., 79., 80., 81., 82., 83., 84., 85., 86., 87.,
    88., 89., 90., 91., 92., 93., 94., 95., 96., 97., 98.,
    99., 100., 101., 102., 103., 104., 105., 106., 107., 108., 109.,
    110., 111., 112., 113., 114., 115., 116., 117., 118., 119., 120.,
    121., 122., 123., 124., 125., 126., 127., 128., 129., 130., 131.,
    132., 133., 134., 135., 136., 137., 138., 139., 140., 141., 142.,
    143., 144., 145., 146., 147., 148., 149., 150.])

logspace是线性生成,并且以什么为底

start从几开始
stop 到数字结尾
num 生成多少个数
base 表示的是底数 默认以10为底

np.log10(100)
# 晚上自习的时候看一下 logn 的使用
  • 输出

    2.0

nd7 = np.logspace(0, 150, num=151, base=np.e)
nd7
  • 输出

    array([1.00000000e+00, 2.71828183e+00, 7.38905610e+00, 2.00855369e+01,
    5.45981500e+01, 1.48413159e+02, 4.03428793e+02, 1.09663316e+03,
    2.98095799e+03, 8.10308393e+03, 2.20264658e+04, 5.98741417e+04,
    1.62754791e+05, 4.42413392e+05, 1.20260428e+06, 3.26901737e+06,
    8.88611052e+06, 2.41549528e+07, 6.56599691e+07, 1.78482301e+08,
    4.85165195e+08, 1.31881573e+09, 3.58491285e+09, 9.74480345e+09,
    2.64891221e+10, 7.20048993e+10, 1.95729609e+11, 5.32048241e+11,
    1.44625706e+12, 3.93133430e+12, 1.06864746e+13, 2.90488497e+13,
    7.89629602e+13, 2.14643580e+14, 5.83461743e+14, 1.58601345e+15,
    4.31123155e

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值