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

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

python 复制代码
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是起始数量,如果该分类都没达到起始数量的话,就直接取该类的全部数据。

相关推荐
Java 码农15 分钟前
Centos7 maven 安装
java·python·centos·maven
倔强青铜三1 小时前
苦练Python第63天:零基础玩转TOML配置读写,tomllib模块实战
人工智能·python·面试
浔川python社1 小时前
《网络爬虫技术规范与应用指南系列》(xc—3):合规实操与场景落地
python
B站计算机毕业设计之家1 小时前
智慧交通项目:Python+YOLOv8 实时交通标志系统 深度学习实战(TT100K+PySide6 源码+文档)✅
人工智能·python·深度学习·yolo·计算机视觉·智慧交通·交通标志
IT森林里的程序猿2 小时前
基于机器学习方法的网球比赛胜负趋势预测
python·机器学习·django
正牌强哥2 小时前
Futures_ML——机器学习在期货量化交易中的应用与实践
人工智能·python·机器学习·ai·交易·akshare
倔强青铜三2 小时前
苦练Python第62天:零基础玩转CSV文件读写,csv模块实战
人工智能·python·面试
郝学胜-神的一滴2 小时前
Effective Python 第43条:自定义容器类型为什么应该从 `collections.abc` 继承?
开发语言·python
银行数字化转型导师坚鹏2 小时前
如何设计优秀的企业微信私域运营实战培训方案
大数据·python·企业微信
jerryinwuhan3 小时前
最短路径问题总结
开发语言·人工智能·python