Pandas sample隨機(jī)抽樣的實(shí)現(xiàn)
隨機(jī)抽樣,是統(tǒng)計(jì)學(xué)中常用的一種方法,它可以幫助我們從大量的數(shù)據(jù)中快速地構(gòu)建出一組數(shù)據(jù)分析模型。在 Pandas 中,如果想要對數(shù)據(jù)集進(jìn)行隨機(jī)抽樣,需要使用 sample() 函數(shù)。
sample() 函數(shù)的語法格式如下:
DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)
參數(shù)說明如下表所示:
| 參數(shù)名稱 | 參數(shù)說明 |
|---|---|
| n | 表示要抽取的行數(shù)。 |
| frac | 表示抽取的比例,比如 frac=0.5,代表抽取總體數(shù)據(jù)的50%。 |
| replace | 布爾值參數(shù),表示是否以有放回抽樣的方式進(jìn)行選擇,默認(rèn)為 False,取出數(shù)據(jù)后不再放回。 |
| weights | 可選參數(shù),代表每個(gè)樣本的權(quán)重值,參數(shù)值是字符串或者數(shù)組。 |
| random_state | 可選參數(shù),控制隨機(jī)狀態(tài),默認(rèn)為 None,表示隨機(jī)數(shù)據(jù)不會重復(fù);若為 1 表示會取得重復(fù)數(shù)據(jù)。 |
| axis | 表示在哪個(gè)方向上抽取數(shù)據(jù)(axis=1 表示列/axis=0 表示行)。 |
| 該函數(shù)返回與數(shù)據(jù)集類型相同的新對象,相當(dāng)于 numpy.random.choice()。實(shí)例如下: |
import pandas as pd
dict = {'name':["Jack", "Tom", "Helen", "John"],'age': [28, 39, 34, 36],'score':[98,92,91,89]}
info = pd.DataFrame(dict)
#默認(rèn)隨機(jī)選擇兩行
info.sample(n=2)
#隨機(jī)選擇兩列
info.sample(n=2,axis=1)輸出結(jié)果:
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
#隨機(jī)抽取3個(gè)數(shù)據(jù)
info['data1'].sample(n=3)
#總體的50%
info.sample(frac=0.5, replace=True)
#data3序列為權(quán)重值,并且允許重復(fù)數(shù)據(jù)出現(xiàn)
info.sample(n=2, weights='data3', random_state=1)
輸出結(jié)果:
隨機(jī)選擇3行數(shù)據(jù):
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
到此這篇關(guān)于Pandas sample隨機(jī)抽樣的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Pandas sample隨機(jī)抽樣內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
8個(gè)Python中可復(fù)用函數(shù)的最佳實(shí)踐分享
在Python編程中,編寫可復(fù)用的函數(shù)是提高代碼質(zhì)量和開發(fā)效率的關(guān)鍵,本文將介紹8種最佳實(shí)踐,并提供豐富的示例代碼,希望可以幫助大家編寫高質(zhì)量的可復(fù)用函數(shù)2023-12-12
DenseNet121模型實(shí)現(xiàn)26個(gè)英文字母識別任務(wù)
這篇文章主要為大家介紹了DenseNet121模型實(shí)現(xiàn)26個(gè)英文字母識別任務(wù)的實(shí)例過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
解決python2.7用pip安裝包時(shí)出現(xiàn)錯(cuò)誤的問題
這篇文章主要介紹了在python2.7用pip安裝包時(shí)出現(xiàn)錯(cuò)誤問題的解決方法,需要的朋友可以參考借鑒,下面來一起看看吧。2017-01-01
python自動化操作之動態(tài)驗(yàn)證碼、滑動驗(yàn)證碼的降噪和識別
很多網(wǎng)站登錄都需要輸入驗(yàn)證碼,如果要實(shí)現(xiàn)自動登錄就不可避免的要識別驗(yàn)證碼,下面這篇文章主要給大家介紹了關(guān)于python自動化操作之動態(tài)驗(yàn)證碼、滑動驗(yàn)證碼的降噪和識別,需要的朋友可以參考下2021-08-08
Python?multiprocessing.value實(shí)現(xiàn)多進(jìn)程數(shù)據(jù)共享的示例
本文介紹了Python中的multiprocessing.value,通過示例代碼展示了如何使用這個(gè)類實(shí)現(xiàn)多進(jìn)程數(shù)據(jù)共享,以及使用場景和注意事項(xiàng)等內(nèi)容,感興趣的朋友跟隨小編一起看看吧2023-07-07
詳解Python的Django框架中manage命令的使用與擴(kuò)展
這篇文章主要介紹了Python的Django框架中manage命令的使用與擴(kuò)展,manage.py使得用戶借助manage命令在命令行中能實(shí)現(xiàn)諸多簡便的操作,需要的朋友可以參考下2016-04-04

