![](/img/trans.png)
[英]Pandas: Sampling from a DataFrame according to a target distribution
[英]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.