淺析pandas隨機排列與隨機抽樣

隨機排列

利用 numpy.random.permutation() 函數,可以返回一個序列的隨機排列。將此隨機排列作為 take() 函數的參數,通過應用 take() 函數就可實現按此隨機排列來調整 Series 對象或 DataFrame 對象各行的順序。
其示例代碼 example1.py 如下:

import numpy as np
import pandas as pd
#創建DataFrame
df = pd.DataFrame(np.arange(12).reshape(4,3))
print(df)
 0 1 2
0 0 1 2
1 3 4 5
2 6 7 8
3 9 10 11

#創建隨機排列
order = np.random.permutation(4)
#通過隨機排列調整DataFrame各行順序
newDf = df.take(order)
print(newDf)
 0 1 2
2 6 7 8
3 9 10 11
0 0 1 2
1 3 4 5

隨機抽樣

隨機抽樣是指隨機從數據中按照一定的行數或者比例抽取數據。隨機抽樣的函數如下:

numpy.random.randint(start,end,size)

函數中的參數說明如下:

  • start:隨機數的開始值;
  • end:隨機數的終止值;
  • size:抽樣個數。

通過 numpy.random.randint() 函數產生隨機抽樣的數據,通過應用 take() 函數就可實現隨機抽取 Series 對象或 DataFrame 對象中的數據。其示例代碼 example2.py 如下

import numpy as np
import pandas as pd
#創建DataFrame
df = pd.DataFrame(np.arange(12).reshape(4,3))
print(df)
0 1 2
0 0 1 2
1 3 4 5
2 6 7 8
3 9 10 11

#隨機抽樣
order = np.random.randint(0,len(df),size=3)
#通過隨機抽樣抽取DataFrame中的行
newDf = df.take(order)
print(newDf)
0 1 2
0 0 1 2
1 3 4 5
1 3 4 5

以上就是詳解pandas隨機排列與隨機抽樣的詳細內容,更多關於pandas隨機排列與隨機抽樣的資料請關註WalkonNet其它相關文章!

推薦閱讀: