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

如何从主DataFrame按名称分组生成多个子DataFrame

按name列分组生成子DataFrame的实现方法

方法一:用字典统一存储子DataFrame(推荐)

这种方式能避免生成大量零散变量,方便统一管理和调用分组结果:

import pandas as pd

# 构造示例DataFrame
df = pd.DataFrame({
    'a': [1, 2, 3, 4],
    'b': [1, 2, 3, 4],
    'name': ['abc', 'xyz', 'abc', 'dfg']
})

# 按name列分组,将每个组的子DataFrame存入字典
grouped_dfs = {group_name: group_data for group_name, group_data in df.groupby('name')}

# 获取指定分组的子DataFrame
df_abc = grouped_dfs['abc']
print(df_abc)

输出结果:

a  b name
0  1  1  abc
2  3  3  abc

方法二:动态创建独立命名变量(不推荐)

如果需要直接生成df_abc、df_xyz这类命名的独立变量,可以用globals()实现,但变量过多时易造成命名混乱,不建议大规模使用:

import pandas as pd

df = pd.DataFrame({
    'a': [1, 2, 3, 4],
    'b': [1, 2, 3, 4],
    'name': ['abc', 'xyz', 'abc', 'dfg']
})

# 遍历分组,动态生成对应变量
for group_name, group_data in df.groupby('name'):
    globals()[f'df_{group_name}'] = group_data

# 直接调用生成的变量
print(df_abc)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 01:35:36