You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pandas中获取列中各取值指定数量数据以平衡数据集

Pandas类别样本均衡抽取方案

当然可以实现,针对你给出的数据集情况(X列中A有1500条、B有3000条、C有1300条),直接通过Pandas的分组抽样功能就能完成每组抽取1250条数据的需求,代码示例如下:

# 假设你的数据集名为df,类别列是X
balanced_df = df.groupby('X').sample(n=1250, random_state=42)

关键参数说明

  • groupby('X'):按类别列X对数据集进行分组
  • sample(n=1250):从每个分组中随机抽取1250条样本,你的三个类别样本量都大于1250,无需额外处理
  • random_state=42:设置随机种子保证每次抽样结果一致,可根据需求调整或移除

额外提示

如果后续遇到部分类别样本量不足目标抽取数的情况,可以添加replace=True参数开启有放回抽样,但此场景下不需要。若需要保留原数据集的索引顺序,可在抽样后追加.sort_index()操作。

内容的提问来源于stack exchange,提问作者Emre Oz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 21:40:45