我想(大致)对数据帧中的大量记录进行分区。使用sample
:
fraction = .7
df1 = df.sample(frac = fraction)
df2 = df.drop(df1.index)
现在我的问题:假设我想(随机)对数据集进行分区,但还必须将group
的所有记录保存在一起。可以假设只有少数记录属于每个组,因此它不会干扰随机分区的能力。一个例子,注意group
只收集一些记录,因此没有施加重大限制:
df =
group value
0 'aaa' 48
1 'aaa' -103
2 'aab' 20
3 'aac' 21
4 'aac' 40
...
10000 'zzf' 220
答案 0 :(得分:0)
您可以尝试groupby,然后将组示例为:
grouped = df.groupby('group')
grouped.apply(lambda x: x.sample(frac=0.7)) –