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

如何将嵌套Price列表展开为平级列表适配Pandas DataFrame?

解决嵌套列表展开为平级列表的问题

问题原因

你使用append()方法时,会把每个DataFrame的Price列转成的子列表作为单个元素追加到price大列表中,最终形成嵌套结构,导致存入DataFrame时每个单元格是一个子列表,而非单个数值。

解决方案

1. 直接修改循环:将append改为extend

把原代码中的append替换成extend,它会把子列表里的所有元素逐个加入大列表,直接得到扁平结构:

# 初始化空列表
price = []

# 遍历DataFrame列表
for df in list_of_dfs:
    # 用extend替代append,逐个添加Price列的元素
    price.extend(df['Price'].tolist())

# 后续创建DataFrame的代码不变
columns = ['Current Time', 'Price', 'Moving Average', 'Action']
data = pd.DataFrame(columns=columns)
data['Price'] = price
data.to_csv('test.csv')

2. 用列表推导式快速生成扁平列表

更简洁的写法,一行生成扁平的price列表:

price = [price_val for df in list_of_dfs for price_val in df['Price'].tolist()]

# 后续代码同上

3. 直接用Pandas合并(最优方案)

既然你本身是处理DataFrame列表,完全可以跳过手动处理列表的步骤,直接用pd.concat合并所有DataFrame的Price列,效率更高:

# 合并所有DataFrame的Price列,重置索引
combined_prices = pd.concat([df['Price'] for df in list_of_dfs], ignore_index=True)

# 创建DataFrame并赋值
columns = ['Current Time', 'Price', 'Moving Average', 'Action']
data = pd.DataFrame(columns=columns)
data['Price'] = combined_prices
data.to_csv('test.csv')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 11:17:34