網站首頁 編程語言 正文
隨機抽樣,是統計學中常用的一種方法,它可以幫助我們從大量的數據中快速地構建出一組數據分析模型。在 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 ? ? 98? ?score ? 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: int64? ? ? ? ?data1 ?data2 ?data3
John ? ? ? ? 2 ? ? ?2 ? ? 12
William ? ? ?0 ? ? ?8 ? ? ?8? ? ? ? ?data1 ?data2 ?data3
John ? ? ? ? 2 ? ? ?2 ? ? 12
William ? ? ?0 ? ? ?8 ? ? ?8
原文鏈接:https://blog.csdn.net/ccc369639963/article/details/124271392
相關推薦
- 2023-07-10 如何使用MyBatis框架實現對數據庫的增刪查改?
- 2023-02-26 flutter中的網絡請求數據獲取詳解_Android
- 2022-04-19 提高css性能的優化方法有哪些
- 2022-04-08 記一次go語言使用time.Duration類型踩過的坑_Golang
- 2022-09-05 用兩個隊列模擬一個棧
- 2022-03-31 Python基礎中的列表你了解嗎_python
- 2022-09-22 lex yacc與C++編寫代碼解析字符串代碼示例
- 2022-12-25 sql中的if和else使用及說明_MsSql
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支