python 從陣列隨機取資料

2021-09-25 13:58:03 字數 1323 閱讀 4254

在神經網路中,經常會用到批量樣本訓練。我們需要從陣列隨機取資料,主要有以下幾種方法:

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,這是我發表的第一篇python部落格 列表為 a j g h k i l f v b 2 5 x import numpy as np word list a j g h k i l f v b 2 5 x len list range len word list 將列表生成字典,...

從列表中隨機取數

列表為 a j g h k i l f v b 2 5 x 版本1 import numpy as np word list a j g h k i l f v b 2 5 x len list range len word list 將列表生成字典,key為元列表的id序號,values為對應序號...

mysql 取隨機編號 mysql取隨機資料的方法

先看手冊中的sql select from table name order by rand limit 5 描述 rand rand n 返回在範圍0到1.0內的隨機浮點值。如果乙個整數引數n被指定,它被用作種子值。mysql select rand 0.5925 mysql select ran...