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

相关推荐
“AI国潮设计-小江”20 分钟前
《Python+SDXL实战:用ControlNet精准控制“英歌舞翻糖吐司”构图,附批量生成脚本》
开发语言·人工智能·python·prompt·aigc
wenwen_chao43 分钟前
Python学习与开发资源合集:实用技巧与工具推荐
python
for_ever_love__2 小时前
函数——参数、lambda、*args与作用域
python·函数·大模型开发·编程基础
东莞市云毅网络有限公司2 小时前
企业资料时效性判定:Last-Modified、正文日期与版本字段三路交叉
python·sqlite·自动化运维·geo·数据监测
Query*2 小时前
深入浅出LangGraph【一】_基础篇
python·ai·langchain
XiaoMaqqqq2 小时前
市面上正规的IP驱动产业新场景新工具哪家强
运维·python·网络协议·tcp/ip
ShyanZh3 小时前
【Python3基础】19-Socket 与 TCP、UDP 编程
python·网络协议·tcp/ip·udp
惊讶的猫3 小时前
工具选对之后还不够:商城 Agent 的参数与权限治理
开发语言·python
天赐范式4 小时前
天赐范式第186天:让方差开始自洽——Bulmer效应的闭式验证
python·数字生命·天赐范式·动态运行时·遗传方差·bulmer效应
泡茶喝茶写代码4 小时前
A股量化数据工程:从 REST 接口到策略信号(第 8 篇):成长能力因子:营收与利润增速
java·python·股票数据api·股票数据api接口·股票量化数据api·股票量化数据接口·股票数据api数据