我知道DataFrame.sample()
,但是我该如何做,并从数据集中删除样本? (注意:AFAIK与替换的采样无关)
例如,这里是我想要实现的本质,这实际上并不起作用:
len(df) # 1000
df_subset = df.sample(300)
len(df_subset) # 300
df = df.remove(df_subset)
len(df) # 700
答案 0 :(得分:8)
如果您的索引是唯一的
df = df.drop(df_subset.index)
<强> 例如 强>
df = pd.DataFrame(np.arange(10).reshape(-1, 2))
<强> 样品 强>
df_subset = df.sample(2)
df_subset
<强> 降 强>
df.drop(df_subset.index)
答案 1 :(得分:4)
pandas random sample:
train=df.sample(frac=0.8,random_state=200)
test=df.drop(train.index)