Pandas随机样本删除

时间:2016-10-03 15:20:14

标签: python pandas

我知道DataFrame.sample(),但是我该如何做,并从数据集中删除样本? (注意:AFAIK与替换的采样无关)

例如,这里是我想要实现的本质,这实际上并不起作用:

len(df) # 1000

df_subset = df.sample(300)
len(df_subset) # 300

df = df.remove(df_subset)
len(df) # 700

2 个答案:

答案 0 :(得分:8)

如果您的索引是唯一的

df = df.drop(df_subset.index)

<强> 例如

df = pd.DataFrame(np.arange(10).reshape(-1, 2))

<强> 样品

df_subset = df.sample(2)
df_subset

enter image description here

<强>

df.drop(df_subset.index)

enter image description here

答案 1 :(得分:4)

pandas random sample

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