DataFrame中按某字段分类并且取该分类随机数量的数据

最近有个需求,把某个df中的数据,按照特定字段分类,并且每个分类只取随机数量数据,这个随机数量需要有范围限制。写出来记录下。 

def randomCutData(self, df, startNum):
     grouped = df.groupby('classify_label')
     df_sampled = pd.DataFrame()
     for _, group in grouped:
         num_samples = len(group)
         num_random_samples = random.randint(min(startNum, num_samples),num_samples)
         sampled_group = group.sample(n=num_random_samples, random_state=42)
         df_sampled = pd.concat([df_sampled, sampled_group])
     return df_sampled.copy()

self.randomCutData(df, 50).copy().reset_index(drop=True).to_csv('xxxxx.csv', index=False)

这里面的startNum是起始数量,如果该分类都没达到起始数量的话,就直接取该类的全部数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值