首页 > 解决方案 > 从熊猫数据框中提取子集确保不重叠?

问题描述

df假设我有 2 个带有297232 x 122维度和df_raw维度的Pandas 数据框840380x122df已经是 的子集df_raw。两个数据框的索引均为DateTime. 我想对 中70%的值df30%中的值df_raw进行采样(如果需要,可以随机采样),同时确保采样的数据帧子集在索引方面没有重叠。

更准确地说,df_subset将具有从 中70%随机选择的值df,并从df_raw_subset30%随机选择值df_raw,但df_subsetdf_raw_subset应该在采样的行方面包含重叠,即它们应该具有唯一DateTime索引。

标签: pythonpandasdataframedatetimesampling

解决方案


所以我们sample从 df 开始,因为尺寸很小,当我们将来从另一个更大的 df 中删除它时,我们不会遇到问题:没有足够的数据指向sample

df_sub=df.sample(frac=0.7, replace=False)

然后我们将索引放入df_rawbydf_sub

n=int(len(df_raw)*0.3)
df_raw_sub=df_raw.drop(df_sub.index).sample(n,replace=False)

推荐阅读