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

如何将存储DataFrame的字典合并为同索引的统一宽表?

解决方案

你存储的所有DataFrame索引完全一致,直接使用pandas的concat方法沿列方向拼接即可得到目标宽表。

注意事项

不要用list作为变量名,它是Python内置关键字,会覆盖原有功能,建议改为ticker_list这类自定义名称。


核心拼接代码

import pandas as pd
# 沿列方向拼接字典中所有DataFrame
merged_df = pd.concat(dataframe_collection.values(), axis=1)
# 给索引重命名为date,匹配预期输出格式
merged_df.index.name = 'date'

优化后完整流程代码

你原有代码可以简化,避免列顺序变化导致删错数据的风险:

import pandas as pd

dataframe_collection = {}
# 替换为你实际的标的列表
ticker_list = ["ACC", "HINDUNILVR", "LT"]
for ticker in ticker_list:
    ohlc = fetchOHLC(ticker, "day", 5)
    # 直接生成对应ticker命名的归一化列,不需要先建base列再重命名
    ohlc[ticker] = ohlc.close / ohlc.close.iloc[0]
    # 直接保留需要的单列,比按位置删多列更稳妥
    ohlc = ohlc[[ticker]]
    dataframe_collection[ticker] = ohlc

# 拼接得到最终宽表
merged_df = pd.concat(dataframe_collection.values(), axis=1)
merged_df.index.name = 'date'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 22:00:01