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

如何通过编程批量拆分DataFrame生成多个子DataFrame

按ID批量拆分DataFrame为多个子DataFrame

推荐方案:用字典存储子DataFrame(更易维护)

这种方式不会污染全局命名空间,不管ID有多少个都能自动处理,后续调用也更清晰:

import pandas as pd

dfa = pd.DataFrame({"ID": ["one", "two", "three"],"Color":["Red", "White", "Blue"],"Length":["16", "14.97", "22.75"]})

# 按ID分组并转换为字典,键为ID值,值为对应子DataFrame
dfs_dict = {id_val: group for id_val, group in dfa.groupby('ID', sort=False)}

使用时直接通过字典键调用:

# 获取ID为"one"的子DataFrame
print(dfs_dict['one'])

可选方案:动态创建全局变量(不推荐)

如果确实需要生成独立的变量(比如one、two这类),可以通过globals()动态创建,但这种方法会让命名空间混乱,数据量大时不好维护:

import pandas as pd

dfa = pd.DataFrame({"ID": ["one", "two", "three"],"Color":["Red", "White", "Blue"],"Length":["16", "14.97", "22.75"]})

# 遍历所有唯一ID,动态生成对应变量
for id_val in dfa['ID'].unique():
    globals()[id_val] = dfa[dfa['ID'].astype(str) == id_val]

执行后直接用变量名调用即可:

print(one)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 16:50:19