如何将列表中存储的每个Series分别转换为对应的独立DataFrame
问题描述
我有一个由Series组成的列表:
我需要将列表中的每一个Series分别存储为对应的DataFrame输出。我尝试使用带enumerate()的for循环来实现,但始终无法得到正确结果。
期望的输出对应关系为:Series0 -> Dataframe0...Series4 -> Dataframe4
解决方案
方式1:字典存储(推荐)
不会污染全局变量,调用逻辑更规范:
import pandas as pd # 将series_list替换为你自己的Series列表变量名 df_store = {} for idx, ser in enumerate(series_list): df_store[f"Dataframe{idx}"] = ser.to_frame() # 调用示例:获取第一个转换完成的DataFrame # print(df_store["Dataframe0"])
方式2:生成独立全局变量
如果需要直接调用Dataframe0、Dataframe1这类独立变量,可以使用globals()方法实现:
for idx, ser in enumerate(series_list): globals()[f"Dataframe{idx}"] = ser.to_frame()
常见出错原因
如果之前循环执行后没有得到预期结果,大概率是没有调用to_frame()方法完成类型转换,直接赋值得到的仍是Series类型,而非DataFrame。你也可以用pd.DataFrame(ser)实现相同的转换效果。
内容的提问来源于stack exchange,提问作者arvin62
相关产品推荐
相关产品推荐

