簡體   English   中英

根據特定列值從pandas數據幀中采樣

[英]Sampling from pandas dataframe according to particular column value

我有包含search_id的pandas數據框df,我想將df隨機采樣到訓練和測試集中,其中訓練和測試集都具有不同的search_id。 Search_id不是唯一的,並且每個search_id都有多個條目,但是我希望訓練和測試數據應具有不同的search_id。 我可以找到的是常規采樣,但沒有找到如何使用search_id進行拆分的方法:

train=df.sample(frac=0.8,random_state=200)
test=df.drop(train.index)

如果您確實想這樣做,我們可以使用sklearn

from sklearn.model_selection import (TimeSeriesSplit, KFold, ShuffleSplit,
                                     StratifiedKFold, GroupShuffleSplit,
                                     GroupKFold, StratifiedShuffleSplit)
GS = GroupShuffleSplit(n_splits=1, test_size=0.3)
tid,trid=next(GS.split(X=df, y=df['Target'], groups=df['Group_ID']))
train , test = df.iloc[tid] , df.iloc[trid]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM