python从列表随机取出多个数据_【python】从数组随机取数据
在神經網絡中,經常會用到批量樣本訓練。我們需要從數組隨機取數據,主要有以下幾種方法:
1、np.random.shuffle:將原數組打亂
import numpy as np
array = np.random.randint(1,100,size=10)
#[63 32 80 33 61 45 28 55 39 80]
batch_size=5
print(array[0:batch_size])
#[63 32 80 33 61]
np.random.shuffle(rand_arr)
print(array[0:batch_size])
#[33 45 80 28 55]
#另一種寫法
# rand_arr = np.arange(array.shape[0])
# np.random.shuffle(rand_arr)
# print(array[rand_arr[0:batch_size]])
# np.random.shuffle(rand_arr)
# print(array[rand_arr[0:5]])
2、np.random.choice:生成亂序的序號,從數據中取出(不改變原始序列)
import numpy as np
array = np.random.randint(1,100,size=10)
#[63 32 80 33 61 45 28 55 39 80]
batch_size=5
slice=np.random.choice(array.shape[0],batch_size)
print(array[slice])
這種方法其實就是生成輸定數量的在某個范圍內的隨機數:
1、隨機取多個數,random.randint()的函數原型為:random.randint(a, b),用于生成一個指定范圍內的整數。
import random
[random.randint(0,100) for _ in range(10)]
2、在固定列表中隨機去多個數,random.sample的函數原型為:random.sample(sequence, k),從指定序列中隨機獲取指定長度的片斷。(這里的適用對象是列表類型的數據)
a=[0,1,2,3,4,5,6,7,8,9]
random.sample(a, 5)
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的python从列表随机取出多个数据_【python】从数组随机取数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 充电宝使用注意哪些事项
- 下一篇: 苹果手机怎么打马赛克