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

如何按列重复值从Pandas DataFrame中拆分出多个子DataFrame

实现方案

首先针对你关心的duplicated适配性问题:该方法仅用于标记、筛选重复行,无法自动按A列所有不同取值拆分出对应子表,需要手动穷举A列取值逐一筛选,效率低且易出错,完全不适配你的需求。
更适合的实现方式是使用pandas.DataFrame.groupby方法,无需提前知晓A列的取值范围和去重后的数量,操作非常简便。

具体操作步骤

1. 按A列生成分组对象

import pandas as pd

# df替换为你自己的原始DataFrame变量名
grouped = df.groupby('A')

2. 存储所有子DataFrame到字典(推荐)

使用字典推导式可以一键生成所有子表的集合,字典的键为A列的取值,值为对应的子DataFrame:

# reset_index(drop=True) 作用是重置子表行索引从0开始,和你给出的示例行号效果一致
# 若需要保留原始数据的行索引,直接删除该方法即可
df_dict = {group_val: sub_df.reset_index(drop=True) for group_val, sub_df in grouped}

3. 调用指定取值的子表

需要提取对应A列值的子表时,直接用对应键取值即可:

# 提取A列取值为120的子表
print(df_dict[120])
# 提取A列取值为121的子表
print(df_dict[121])

4. 批量遍历处理所有子表

如果需要对所有子表做统一处理,可以直接遍历分组对象:

for a_val, sub_df in grouped:
    print(f"取值为{a_val}的子DataFrame:")
    print(sub_df.reset_index(drop=True))
    # 此处可添加你对每个子表的自定义处理逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 06:15:04