首页 > 分享 > numpy库全方位解析与实战

numpy库全方位解析与实战

初始化输入

以下均基于已进行

import numpy as np'

zeros

Z = np.zeros((3,3))

Z[1][1]=1

Z[1,2]=999

print(Z,end='nn')

print(Z[1],end='nn')

print(Z[:,2])

[[  0.   0.   0.]
 [  0.   1. 999.]
 [  0.   0.   0.]]

[  0.   1. 999.]

[  0. 999.   0.]

ones

eye

Z = np.eye(3)

print(Z)

[[1. 0. 0.]

 [0. 1. 0.]

 [0. 0. 1.]]

arange

Z = np.arange(9)

ZZ=Z.reshape(3,3)

print(Z)

print(ZZ)

[0 1 2 3 4 5 6 7 8]
[[0 1 2]
 [3 4 5]
 [6 7 8]]

linspace

Z = np.linspace(0,2,5,endpoint=True)

print(Z,end='nn')

Z = np.linspace(0,2,5,endpoint=False)

print(Z)

[0.  0.5 1.  1.5 2. ]

[0.  0.4 0.8 1.2 1.6]

插零

Z = np.array([1,2,3,4,5])

nz = 3

Z0 = np.zeros(len(Z) + (len(Z)-1)*(nz))

Z0[::nz+1] = Z

print(Z0)

[1. 0. 0. 0. 2. 0. 0. 0. 3. 0. 0. 0. 4. 0. 0. 0. 5.]

示例程序在各元素之间插入3个零,使用[::nz+1]实现步长跳跃

meshgrid网格

Z = np.zeros((5,5), [('x',float),('y',float)])

print(Z)

print(Z[0][0].dtype)

Z['x'], Z['y'] = np.meshgrid(np.linspace(0,1,5),

np.linspace(0,1,5))

print(Z)

[[(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., 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.)]]
[('x', '<f8'), ('y', '<f8')]
[[(0.  , 0.  ) (0.25, 0.  ) (0.5 , 0.  ) (0.75, 0.  ) (1.  , 0.  )]
 [(0.  , 0.25) (0.25, 0.25) (0.5 , 0.25) (0.75, 0.25) (1.  , 0.25)]
 [(0.  , 0.5 ) (0.25, 0.5 ) (0.5 , 0.5 ) (0.75, 0.5 ) (1.  , 0.5 )]
 [(0.  , 0.75) (0.25, 0.75) (0.5 , 0.75) (0.75, 0.75) (1.  , 0.75)]
 [(0.  , 1.  ) (0.25, 1.  ) (0.5 , 1.  ) (0.75, 1.  ) (1.  , 1.  )]]

tile

Z = np.tile( np.array([[0,1],[2,3]]), (3,4))

print(Z)

[[0 1 0 1 0 1 0 1]
 [2 3 2 3 2 3 2 3]
 [0 1 0 1 0 1 0 1]
 [2 3 2 3 2 3 2 3]
 [0 1 0 1 0 1 0 1]
 [2 3 2 3 2 3 2 3]]

copysign 同符号

Z = np.random.uniform(-10,+10,10)

print(Z)

print(np.copysign(0.5,Z))

[-2.39554005 -7.79983267  1.93706127  6.60515533  0.2433789  -1.14940444
  2.74326697  2.99149414  8.04901002 -1.15825212]
[-0.5 -0.5  0.5  0.5  0.5 -0.5  0.5  0.5  0.5 -0.5]

newaxis扩展维度

x_data = np.linspace(-1, 1, 300, dtype=np.float32)[:, np.newaxis]

x_new=x_data[:, np.newaxis]

print(x_data.shape,x_new.shape)

(300, 1) (300, 1, 1)

随机数

random.randn 标准正态分布

Z = np.random.randn(2,3,2)

print(Z)

[[[ 1.8321417   1.33581302]
  [ 2.25723024  0.30417944]
  [ 0.62603242  1.33159201]]

 [[ 0.00457677  0.79473528]
  [ 0.68404434 -1.76246403]
  [-3.32235777  1.90895673]]]

random.normal正态分布

np.random.normal(loc=0,scale=1e-2,size=shape)

各参数含义:loc均值,scale标准差,size形状,相比于random.randn多了均值方差的参数

random.rand [0,1)之间均匀分布的随机样本

a=np.random.rand(4,2)

random.random [0,1)之间的随机数

Z = np.random.random((3,3,3))

random.uniform 随机生成某一范围内的实数

Z = np.random.uniform(-10,+10,10)

random.randint 区间范围内的随机整数

A = np.random.randint(0,10,5)

print(A)

[3 6 0 0 2]


random.choice随机选取

Z=np.arange(5)

print(np.random.choice(Z, 3, replace=True))

[3 2 3]

choice方法的详细说明见链接,该函数可设置是否放回及每个样本的概率ÿ

相关知识

【实战教程】用scikit
天下3冰心推人技能解析:优化建议与实战攻略
VC开发手写识别系统:深度解析与实战
《植物学》全方位复习攻略:知识点提炼+名词诠释+典型试题解析及答案
库卡机器人KRC4基础电气维护手册:您的专业成长必备指南
解锁视觉艺术:连州UI设计创新解析与实战技巧揭秘
全方位探秘:花店选购指南与创意花艺服务解析
全方位搜集:玫瑰花的经典文案、寓意解析与浪漫表白用语
揭秘Vue.js异步编程精髓:原理图解析与实战技巧全解析
暗喻幻想 高效攻略苍元素体,顶级阵容搭配与实战技巧解析

网址: numpy库全方位解析与实战 https://m.huajiangbk.com/newsview1183338.html

所属分类:花卉
上一篇: 【Java面经整理】为什么会出现
下一篇: python简单的定制 简易计时