溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python?clip與range函數(shù)怎么使用

發(fā)布時(shí)間:2022-06-29 09:52:06 來源:億速云 閱讀:211 作者:iii 欄目:開發(fā)技術(shù)

本文小編為大家詳細(xì)介紹“Python clip與range函數(shù)怎么使用”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“Python clip與range函數(shù)怎么使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識(shí)吧。

一、range函數(shù)的定義

range函數(shù)的作用是生成一個(gè)起始值為start,終值不超過stop,步長(zhǎng)為step的等差數(shù)列。range函數(shù)的基本調(diào)用語(yǔ)法如下:

range(start, stop[, step])

start:數(shù)組的起始值,可省略,默認(rèn)值為0。

stop:數(shù)組的上限,生成不超過該值的等差數(shù)列。

step:步長(zhǎng),可省略,默認(rèn)值為1,即數(shù)組中前后兩個(gè)數(shù)的差值。

二、range函數(shù)實(shí)例

省略起始值start和步長(zhǎng)step

for i in range(6):
    print(i)

得到結(jié)果:

0
1
2
3
4
5

可以發(fā)現(xiàn)range函數(shù)可以省略初始值start(默認(rèn)值為0)和步長(zhǎng)step(默認(rèn)值為1),并取默認(rèn)值生成等差數(shù)列。

設(shè)置初始值終值和步長(zhǎng)

for i in range(5, 16, 2):
    print(i)

得到結(jié)果:

5
7
9
11
13
15

可以發(fā)現(xiàn)range函數(shù)生成了一個(gè)初始值為5,終值不超過16(最大化),步長(zhǎng)為2的等差數(shù)列。

三、random.randint函數(shù)的定義

random.randint函數(shù)是numpy庫(kù)中的,通常需要先加載numpy庫(kù),再調(diào)用該函數(shù)。函數(shù)的基本調(diào)用語(yǔ)法如下:

import numpy as np
np.random.randint(low, high=None, size=None, dtype=int)

low:隨機(jī)生成的數(shù)要大于等于該值。

high:隨機(jī)生成的數(shù)要小于該值。

size:控制隨機(jī)數(shù)的尺寸,省略時(shí)默認(rèn)輸出單個(gè)整數(shù)。

random.randint函數(shù)的作用是返回一個(gè)隨機(jī)整型數(shù)或整型數(shù)組或整型數(shù)據(jù)框。

范圍從low(含)到high(不含),即[low, high)。如果未寫參數(shù)high的值,則數(shù)據(jù)范圍為[0, low)。

四、random.randint函數(shù)實(shí)例

隨機(jī)生成5個(gè)[0, 6)之間的整數(shù)

for i in range(5):
    print(np.random.randint(6))

得到結(jié)果:

0
1
5
1
4

可以發(fā)現(xiàn)random.randint函數(shù)中若只有一個(gè)數(shù),則生成一個(gè)數(shù)據(jù)范圍為[0, 該數(shù))的整數(shù)。

隨機(jī)生成[-2, 9)之間1維數(shù)組

np.random.randint(-2, 9, (1,6))

得到結(jié)果:

array([[ 6,  0,  6, -1, -2,  2]])

可以發(fā)現(xiàn)random.randint函數(shù)中的size取值可以控制數(shù)據(jù)的維度。第一個(gè)數(shù)指數(shù)據(jù)的行數(shù),第二個(gè)數(shù)指數(shù)據(jù)的列數(shù)。例2生成一個(gè)1行6列的數(shù)組。

隨機(jī)生成[5, 10)之間的3行5列數(shù)據(jù)框

np.random.randint(5, 10, (3, 5))

得到結(jié)果:

array([[6, 8, 8, 5, 8],
       [6, 9, 9, 7, 9],
       [9, 7, 7, 7, 8]])

可以發(fā)現(xiàn)random.randint函數(shù)中的size取值可以控制數(shù)據(jù)的維度。第一個(gè)數(shù)指數(shù)據(jù)的行數(shù),第二個(gè)數(shù)指數(shù)據(jù)的列數(shù)。例3生成一個(gè)3行6列的數(shù)據(jù)框。

五、clip函數(shù)的定義

clip函數(shù)是numpy庫(kù)中的,通常需要先加載numpy庫(kù),再調(diào)用該函數(shù)。clip函數(shù)的基本調(diào)用語(yǔ)法如下:

import numpy as np
np.clip(a, a_min, a_max, out=None, **kwargs)

a:數(shù)組或數(shù)據(jù)框。

a_min:下界,區(qū)間的最小值,a中比a_min小的數(shù)都會(huì)強(qiáng)制變成a_min。

a_max:上界,區(qū)間的最大值,a中比a_max大的數(shù)都會(huì)強(qiáng)制變成a_max。

out:可以指定輸出矩陣的對(duì)象,shape與a相同。

該函數(shù)的作用是將a中的所有數(shù)限定到a_min和a_max這個(gè)區(qū)間中,超出這個(gè)區(qū)間的值都被截?cái)嘣O(shè)置成界限值。

六、clip函數(shù)實(shí)例

把數(shù)組中的值應(yīng)用clip函數(shù)進(jìn)行截取

a = np.array(range(1, 10))
a_min = 3
a_max = 8
print(a)
print('======compare======')
print(np.clip(a, a_min, a_max))

得到結(jié)果:

[1 2 3 4 5 6 7 8 9]
======compare======
[3 3 3 4 5 6 7 8 8]

compare之前的是原始值,之后的是用clip函數(shù)截取之后的值。可以發(fā)現(xiàn)clip函數(shù)把數(shù)組中小于a_min和大于a_max的值都強(qiáng)制變成了界限值。

把數(shù)據(jù)框中的值應(yīng)用clip函數(shù)進(jìn)行截取

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))

得到結(jié)果:

[[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]]

可以發(fā)現(xiàn)clip函數(shù)把數(shù)據(jù)框中小于a_min和大于a_max的值都強(qiáng)制變成了界限值。

讀到這里,這篇“Python clip與range函數(shù)怎么使用”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI