如何从Pandas DataFrame中按4类标签各随机抽取300个样本?
从多类别Pandas DataFrame中按类抽取固定数量样本
你可以借助Pandas的groupby()结合sample()方法快速实现需求,步骤如下:
确认各类样本数量
先检查每类标签的样本数是否满足抽取300个的要求,避免后续报错:print(df['label'].value_counts())(将
'label'替换为你实际的标签列名称)按类随机抽取样本
通过分组后抽样,直接得到整合后的新DataFrame:# 每组抽取300个,random_state保证结果可复现(可选) sampled_df = df.groupby('label').sample(n=300, random_state=42)特殊情况处理
如果某类样本数量不足300,且你允许重复抽取同一样本,可添加replace=True参数:sampled_df = df.groupby('label').sample(n=300, random_state=42, replace=True)验证结果
检查新DataFrame中各类样本数量是否符合预期:print(sampled_df['label'].value_counts())
内容的提问来源于stack exchange,提问作者jasmine
相关产品推荐
相关产品推荐

