Pandas sample隨機抽樣的實現
隨機抽樣,是統計學中常用的一種方法,它可以幫助我們從大量的數據中快速地構建出一組數據分析模型。在 Pandas 中,如果想要對數據集進行隨機抽樣,需要使用 sample() 函數。
sample() 函數的語法格式如下:
DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)
參數說明如下表所示:
參數名稱 | 參數說明 |
---|---|
n | 表示要抽取的行數。 |
frac | 表示抽取的比例,比如 frac=0.5,代表抽取總體數據的50%。 |
replace | 佈爾值參數,表示是否以有放回抽樣的方式進行選擇,默認為 False,取出數據後不再放回。 |
weights | 可選參數,代表每個樣本的權重值,參數值是字符串或者數組。 |
random_state | 可選參數,控制隨機狀態,默認為 None,表示隨機數據不會重復;若為 1 表示會取得重復數據。 |
axis | 表示在哪個方向上抽取數據(axis=1 表示列/axis=0 表示行)。 |
該函數返回與數據集類型相同的新對象,相當於 numpy.random.choice()。實例如下: |
import pandas as pd dict = {'name':["Jack", "Tom", "Helen", "John"],'age': [28, 39, 34, 36],'score':[98,92,91,89]} info = pd.DataFrame(dict) #默認隨機選擇兩行 info.sample(n=2) #隨機選擇兩列 info.sample(n=2,axis=1)
輸出結果:
name age score
3 John 36 89
0 Jack 28 98score name
0 98 Jack
1 92 Tom
2 91 Helen
3 89 John
再來看一組示例:
import pandas as pd info = pd.DataFrame({'data1': [2, 6, 8, 0], 'data2': [2, 5, 0, 8], 'data3': [12, 2, 1, 8]}, index=['John', 'Parker', 'Smith', 'William']) info #隨機抽取3個數據 info['data1'].sample(n=3) #總體的50% info.sample(frac=0.5, replace=True) #data3序列為權重值,並且允許重復數據出現 info.sample(n=2, weights='data3', random_state=1)
輸出結果:
隨機選擇3行數據:
William 0
Smith 8
Parker 6
Name: data1, dtype: int64data1 data2 data3
John 2 2 12
William 0 8 8data1 data2 data3
John 2 2 12
William 0 8 8
到此這篇關於Pandas sample隨機抽樣的實現的文章就介紹到這瞭,更多相關Pandas sample隨機抽樣內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- pandas之query方法和sample隨機抽樣操作
- python中pandas操作apply返回多列的實現
- Python Pandas學習之Pandas數據結構詳解
- 詳解pandas映射與數據轉換
- Python機器學習三大件之二pandas