Python 从日期时间序列中的多个CSV文件设置多索引数据帧

Python 从日期时间序列中的多个CSV文件设置多索引数据帧,python,pandas,multi-index,Python,Pandas,Multi Index,我有一个CSV格式的时间序列价格数据列表,如下所示: asxList = ['ANZ', 'NAB', 'WBC'] for asxCode in asxList: ohlcData = pd.DataFrame.from_csv(asxCode+'.CSV', header=0) 示例输出: 如何按特定顺序组合所有ohlcData,首先按日期时间索引,其次按asxList['ANZ'、'NAB'、'WBC']索引,然后按数据列进行组合?创建数据帧列表,在每个数据帧中添加一个cod

我有一个CSV格式的时间序列价格数据列表,如下所示:

asxList = ['ANZ', 'NAB', 'WBC']

for asxCode in asxList:
    ohlcData = pd.DataFrame.from_csv(asxCode+'.CSV', header=0)
示例输出:


如何按特定顺序组合所有ohlcData,首先按日期时间索引,其次按asxList['ANZ'、'NAB'、'WBC']索引,然后按数据列进行组合?

创建数据帧列表,在每个数据帧中添加一个
code
列:

dfs = []
for asxCode in asxList:
    df = pd.DataFrame.from_csv(asxCode+'.CSV', header=0)
    df['code'] = asxCode
    dfs.append(df)
连接数据帧,将
code
列添加到索引中:

pd.concat(dfs).reset_index().set_index(['index', 'code'])

与Dyz几乎相同,只需使用来自
concat的

asxList = ['ANZ', 'NAB', 'WBC']
l=[]
for asxCode in asxList:
    l.append(pd.DataFrame.from_csv(asxCode+'.CSV', header=0))

pd.concat(l,keys=asxList)

你说的“汇编”是什么意思:排序还是分组?你可以使用
concat
设置一个多级索引,首先
Date
,然后你可以做
pd.concat([pd.DataFrame.from_csv(asxCode+'.csv',header=0)对于asxList中的asxCode),keys=asxList)
。谢谢温家宝,DyZ的单行代码非常棒!