Python clip与range函数保姆级使用教程

你应该听说过,应用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的值都强制变成了界限值。

到此这篇关于Python clip与range函数保姆级使用教程的文章就介绍到这了,更多相关Python clip与range 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的