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://www.huajiangbk.com/newsview1183338.html
上一篇: 【Java面经整理】为什么会出现 |
下一篇: python简单的定制 简易计时 |
推荐分享

- 1君子兰什么品种最名贵 十大名 4012
- 2世界上最名贵的10种兰花图片 3364
- 3花圈挽联怎么写? 3286
- 4迷信说家里不能放假花 家里摆 1878
- 5香山红叶什么时候红 1493
- 6花的意思,花的解释,花的拼音 1210
- 7教师节送什么花最合适 1167
- 8勿忘我花图片 1103
- 9橄榄枝的象征意义 1093
- 10洛阳的市花 1039