Python clip与range
阿黎逸阳 人气:0你应该听说过,应用Python,可以让你处理一天的重复工作量,缩短到几分钟甚至更短。从此解放上班时间,研究更多更有效率的工作方法。进一步提升工作效率,让工作更出彩。这不是广告,这是实锤图片。
本文和你一起探索Python常用函数合集,让你以最短的时间明白这些函数的原理。也可以利用碎片化的时间巩固这些函数,让你在处理工作过程中更高效。
一、range函数的定义
range函数的作用是生成一个起始值为start,终值不超过stop,步长为step的等差数列。range函数的基本调用语法如下:
range(start, stop[, step])
start:数组的起始值,可省略,默认值为0。
stop:数组的上限,生成不超过该值的等差数列。
step:步长,可省略,默认值为1,即数组中前后两个数的差值。
二、range函数实例
省略起始值start和步长step
for i in range(6): print(i)
得到结果:
0
1
2
3
4
5
可以发现range函数可以省略初始值start(默认值为0)和步长step(默认值为1),并取默认值生成等差数列。
设置初始值终值和步长
for i in range(5, 16, 2): print(i)
得到结果:
5
7
9
11
13
15
可以发现range函数生成了一个初始值为5,终值不超过16(最大化),步长为2的等差数列。
三、random.randint函数的定义
random.randint函数是numpy库中的,通常需要先加载numpy库,再调用该函数。函数的基本调用语法如下:
import numpy as np np.random.randint(low, high=None, size=None, dtype=int)
low:随机生成的数要大于等于该值。
high:随机生成的数要小于该值。
size:控制随机数的尺寸,省略时默认输出单个整数。
random.randint函数的作用是返回一个随机整型数或整型数组或整型数据框。
范围从low(含)到high(不含),即[low, high)。如果未写参数high的值,则数据范围为[0, low)。
四、random.randint函数实例
随机生成5个[0, 6)之间的整数
for i in range(5): print(np.random.randint(6))
得到结果:
0
1
5
1
4
可以发现random.randint函数中若只有一个数,则生成一个数据范围为[0, 该数)的整数。
随机生成[-2, 9)之间1维数组
np.random.randint(-2, 9, (1,6))
得到结果:
array([[ 6, 0, 6, -1, -2, 2]])
可以发现random.randint函数中的size取值可以控制数据的维度。第一个数指数据的行数,第二个数指数据的列数。例2生成一个1行6列的数组。
随机生成[5, 10)之间的3行5列数据框
np.random.randint(5, 10, (3, 5))
得到结果:
array([[6, 8, 8, 5, 8],
[6, 9, 9, 7, 9],
[9, 7, 7, 7, 8]])
可以发现random.randint函数中的size取值可以控制数据的维度。第一个数指数据的行数,第二个数指数据的列数。例3生成一个3行6列的数据框。
五、clip函数的定义
clip函数是numpy库中的,通常需要先加载numpy库,再调用该函数。clip函数的基本调用语法如下:
import numpy as np np.clip(a, a_min, a_max, out=None, **kwargs)
a:数组或数据框。
a_min:下界,区间的最小值,a中比a_min小的数都会强制变成a_min。
a_max:上界,区间的最大值,a中比a_max大的数都会强制变成a_max。
out:可以指定输出矩阵的对象,shape与a相同。
该函数的作用是将a中的所有数限定到a_min和a_max这个区间中,超出这个区间的值都被截断设置成界限值。
六、clip函数实例
把数组中的值应用clip函数进行截取
a = np.array(range(1, 10)) a_min = 3 a_max = 8 print(a) print('======compare======') print(np.clip(a, a_min, a_max))
得到结果:
[1 2 3 4 5 6 7 8 9]
======compare======
[3 3 3 4 5 6 7 8 8]
compare之前的是原始值,之后的是用clip函数截取之后的值。可以发现clip函数把数组中小于a_min和大于a_max的值都强制变成了界限值。
把数据框中的值应用clip函数进行截取
a = np.random.randint(20, 50, (4, 4)) a_min = 30 a_max = 40 print(a) print('====compare====') print(np.clip(a, a_min, a_max))
得到结果:
[[40 39 35 21]
[29 44 36 46]
[47 40 40 26]
[24 24 26 44]]
====compare====
[[40 39 35 30]
[30 40 36 40]
[40 40 40 30]
[30 30 30 40]]
可以发现clip函数把数据框中小于a_min和大于a_max的值都强制变成了界限值。
加载全部内容