1. python 中 numpy 之 clip() 函数
Numpy 中 clip 函数基础语法
numpy.clip(a, a_min, a_max, out=None)
a 是一个数组;
a_min 表示数组的最小值;
a_max 表示数组的最大值;
将数组中的元素限制在 a_min ,a_max
之间,小于 a_min 的数值让它等于 a_min ,大于 a_max 的数值让其等于 a_max;
out 默认为 None时,a 不变,返回的数组并没有赋值给 a 。
样例:
1.1 一维数组
import numpy as np
# 一维数组
a = np.arange(10)
a_clip = np.clip(a, 3, 8)
print("原来的数组:", a)
print("经过运算后的数组:", a_clip)
输出结果:
[Output:]
原来的数组: [0 1 2 3 4 5 6 7 8 9]
经过运算后的数组: [3 3 3 3 4 5 6 7 8 8]
1.2 多维数组
# 多维数组
b = np.random.randint(1, 20, (3, 4))
b_clip = np.clip(b, 5, 10)
print("原来的多维数组:", b);
print("经过运算后的多维数组:", b_clip)
输出结果:
原来的多维数组: [[ 6 12 15 13]
[ 1 10 12 11]
[ 7 11 18 10]]
经过运算后的多维数组: [[ 6 10 10 10]
[ 5 10 10 10]
[ 7 10 10 10]]
2. python 随机数组生成
2.1 一维数组生成
np.random.randint
语法:
np.random.randint(low[, high, size])
返回随机的整数,位于半开区间 [low, high),size 表示数组的个数。
例子:
# 随机生成一维整数数组,随机范围[1, 10),5个元素
array1 = np.random.randint(1, 10, 5)
print(array1)
[Output:]
[4 2 5 1 9]
np.random_integers
语法:
np.random_integers(low[, high, size])
返回随机的整数,位于闭区间 [low, high],size 表示数组个数。
例子:
array2 = np.random.random_integers(1, 10, 4)
print(array2)
[Ouput:]
[9 6 5 3]
np.random.randn
语法:
np.random.randn(n)
生成一个标准正态分布的样本,数组数为 n
例子:
array3 = np.random.randn(8)
print(array3)
[output:]
[ 0.38485529 0.93223006 -0.30251032 -0.0776742 -0.1494331 0.92869632
0.34519346 -0.50091836]
np.random.rand()
语法
np.random.rand(n)
生成 n 个[0.0,1.0)之间的随机浮点数,没有参数 n 时,生成一个随机浮点数;有参数 n 时,生成长度为 n 的一维随机浮点数组。
例子:
array4 = np.random.rand(6)
print(array4)
[Output:]
[0.26122457 0.25746236 0.6528532 0.68066095 0.18878394 0.13258246]
2.2 多维数组生成
使用 np.random.rand()
即可生成多维浮点数数组。
例子:
print(np.random.rand(2, 4)) # 生成2行4列矩阵
[Output:]
[[0.3499704 0.32819639 0.87229577 0.17463467] [0.62080204 0.1809523 0.20208164 0.65036285]]
使用 np.random.randint()
即可生成多维整数数组。
例子:
array5 = np.random.randint(1, 50, (3, 4))
print(array5)
[Ouput:]
[[ 3 28 18 42]
[ 2 34 35 38]
[45 21 44 8]]
暂时学习到这么多,先记录到这里,回头有学到新的方法再进行补充。