从pandas中的数据框中获取两个不相交的样本

时间:2016-08-28 05:27:57

标签: python pandas

我有一个数据帧,我需要将其采样为两个,其中一个样本不应包含另一个样本。我可以运行两个示例操作,但这并不能保证相同的

df.sample(frac=0.8)
df.sample(frac=0.2)

我也试过了下面的内容。但这会引发错误ValueError: cannot compute isin with a duplicate axis.

df1 = df.sample(frac=0.8)
df[~df.isin(df1).all(1)]

可以做些什么来实现分裂

piRSquared的编辑

df = pd.DataFrame(np.arange(200).reshape(100, 2), columns=list('AB'))

n_80pct = df.shape[0] // 5 * 4
df_sampled = df.sample(frac=1)
df_80 = df_sampled.iloc[:n_80pct]
df_20 = df_sampled.iloc[n_80pct:]

0 个答案:

没有答案