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

如何从Pandas DataFrame中选取按年份均匀分布的子集?

Pandas按年份提取固定数量样本子集

你可以直接使用Pandas的groupby()结合sample()方法快速实现需求,代码如下:

import pandas as pd

# 假设你的原始数据集存储在变量df中
subset_df = df.groupby('year', group_keys=False).sample(n=10, random_state=42)

参数说明:

  • groupby('year'):按year列对数据集进行分组
  • group_keys=False:避免分组键被添加到结果的索引中,保持输出DataFrame的结构简洁
  • sample(n=10):为每个年份分组抽取10条样本
  • random_state=42:固定随机种子,确保每次运行抽取的样本完全一致,便于测试场景的复现

如果遇到部分年份的原始样本数少于10的情况,sample()会默认返回该年份的所有样本;如果需要强制抽取10条(允许重复样本),可以添加replace=True参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 10:20:15