python numpy 行 列个数_Python 用 numpy 随机抽样选择矩阵的多行或多列
numpy提供了多種隨機選取的方法,這里放三種方法,效果相同。
以從一個矩陣中隨機抽取n行為例,寫了三個函數,粗鄙代碼,見笑
import numpy as np
#=================================================================================
def rand_row1(array,dim_needed): #array為需要采樣的矩陣,dim_needed為想要抽取的行數
row_total = array.shape[0]
row_sequence = np.arange(row_total)
np.random.shuffle(row_sequence)
return array[row_sequence[0:dim_needed],:]
#=================================================================================
def rand_row2(array,dim_needed): #array為需要采樣的矩陣,dim_needed為想要抽取的行數
row_total = array.shape[0]
row_sequence = np.random.permutation(row_total)
return array[row_sequence[0:dim_needed],:]
#=================================================================================
def rand_row3(array,dim_needed): #array為需要采樣的矩陣,dim_needed為想要抽取的行數
row_total = array.shape[0]
row_sequence= np.random.choice(row_total,dim_needed,replace=False, p=None)
return array[row_sequence,:]
#=================================================================================
#=============================測試
test_data = np.array([0, 0])
for i in range(100):
test_data = np.vstack((test_data, [i+1, i+1]))
# print(test_data)
batch = rand_row1(test_data,20)
# batch = rand_row2(test_data,20)
# batch = rand_row3(test_data,20)
print(batch.shape,batch)
隨機抽取n列與之類似,同志,共勉!
總結
以上是生活随笔為你收集整理的python numpy 行 列个数_Python 用 numpy 随机抽样选择矩阵的多行或多列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用FFMPEG——4.2.2版本实现提
- 下一篇: 详解 Python qrcode 二维码