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

Python中如何从DataFrame列表生成独立的单个DataFrame?

将列表中的子DataFrame转换为独立变量

好问题!你已经成功生成了包含目标子DataFrame的列表my_dfs,接下来有几种实用方法可以把列表里的元素转换成独立命名的单个DataFrame:

方法1:直接索引赋值(适合少量子DataFrame)

如果你的子DataFrame数量不多(比如只有2个),直接通过列表索引赋值最直接:

# 对应Name="Joe"且Add="Lo"的子DataFrame
df1 = my_dfs[0]
# 对应Name="John"且Add="Po"的子DataFrame
df2 = my_dfs[1]

这样df1和df2就会成为独立的DataFrame变量,你可以直接对它们进行后续操作。

方法2:用字典存储(推荐,适合任意数量)

如果后续需要处理更多组合,用字典存储子DataFrame会更规范,也方便管理:

# 先为每个子DataFrame生成自定义名称(结合Names和Add字段)
df_names = [f"df_{name}_{add}" for name, add in data2.values]
# 创建字典,键是自定义名称,值是对应的子DataFrame
df_dict = dict(zip(df_names, my_dfs))

之后你可以通过字典键来调用对应的子DataFrame,比如:

# 调用Joe-Lo对应的子DataFrame
df_dict["df_Joe_Lo"]
# 调用John-Po对应的子DataFrame
df_dict["df_John_Po"]

这种方式避免了污染全局命名空间,而且当子DataFrame数量增加时,管理起来更高效。

方法3:生成全局变量(不推荐大量使用)

如果你确实需要生成独立的全局变量(不建议用于大量子DataFrame),可以使用globals()函数:

df_names = [f"df_{name}_{add}" for name, add in data2.values]
for name, df in zip(df_names, my_dfs):
    globals()[name] = df

执行后,你就可以直接使用df_Joe_Lo、df_John_Po这些独立变量了。不过这种方式会让全局命名空间变得混乱,所以更推荐用字典的方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 09:14:05