numpy 的必须会的操作(二)

数组的连接 (concatenate的用法)

numpy 的必须会的操作(二)

轴的概念

axis=1实际上是说,只对行进行操作 axis=1实际上是说,只对列进行操作

  • axis = 0 可以简写成 0

求唯一值

<code>a = np.array([1,2,1,1,1,3,4,3,5,2,3])
np.unique(a) # array([1, 2, 3, 4, 5])/<code>

生成随机数

<code>np.random.rand(3,4)  # rand函数根据给定维度生成[0,1)之间的数据,包含0,不包含1
np.random.randn(3,4) # randn函数返回均值=0,标准差=1,具有标准正态分布。
np.random.normal(5,1,size=(3, 4)) #normal函数是正态分布,但可以修改均值和标准差,第一个是均值,第二个是标准差,还可以传入size
np.random.randint(1, 10, 10) #返回随机整数,范围区间为[low,high),包含low,不包含high
np.random.choice(3,3) #从给定的0到3中生成3个随机数,还可以传入size为数组维度/<code>
<code>array([[0.38791074, 0.66974604, 0.93553907, 0.84631092],
[0.31327352, 0.52454816, 0.44345289, 0.22957721],
[0.53441391, 0.91396202, 0.45720481, 0.43069857]])
array([[ 0.8858294 , 0.63190187, 0.04026035, -0.90312288],
[ 0.17532267, 0.19443089, -0.53524902, 0.77735121],
[ 0.17133845, -0.44285144, 1.70490377, 0.92434585]])
array([[3.69513876, 4.61942496, 4.25637299, 4.56287823],
[4.57354991, 6.3814073 , 5.09837051, 4.63054252],
[3.72678005, 6.0149868 , 3.51894029, 4.71290011]])
array([9, 7, 4, 8, 8, 5, 6, 4, 7, 9])
array([0, 2, 2])/<code>

固定随机数 seed 的用法

  • 参数相同时使得每次生成的随机数相同;当参数不同或者无参数时,作用与numpy.random.rand()函数相同,即多次生成随机数且每次生成的随机数都不同。
<code>import numpy as np 
for i in range(5):
np.random.seed(1) # 当这里有数时,生成相同的随机数
a = np.random.randint(1,10,10)
print(a)/<code>
<code>[6 9 6 1 1 2 8 7 3 5]
[6 9 6 1 1 2 8 7 3 5]
[6 9 6 1 1 2 8 7 3 5]
[6 9 6 1 1 2 8 7 3 5]
[6 9 6 1 1 2 8 7 3 5]/<code>

问题

使用random.randn创建 10*10 将所有小于0 的值替换为 0, 最后求每一列的均值

<code>a = np.random.rand(10,10)
a[(a<0)] = 0
a.mean(0)/<code>


分享到:


相關文章: