给定一个数据帧字典,如:
dict = {'ABC': df1, 'XYZ' : df2} # of any length...
其中每个数据帧具有相同的列和相似的索引,例如:
data Open High Low Close Volume
Date
2002-01-17 0.18077 0.18800 0.16993 0.18439 1720833
2002-01-18 0.18439 0.21331 0.18077 0.19523 2027866
2002-01-21 0.19523 0.20970 0.19162 0.20608 771149
将所有数据帧合并为一个多索引的最简单方法是:
symbol ABC XYZ
data Open High Low Close Volume Open ...
Date
2002-01-17 0.18077 0.18800 0.16993 0.18439 1720833 ...
2002-01-18 0.18439 0.21331 0.18077 0.19523 2027866 ...
2002-01-21 0.19523 0.20970 0.19162 0.20608 771149 ...
我尝试了一些方法-例如,对于每个数据帧,用多索引(如.from_product(['ABC', columns])
)替换列,然后沿axis=1
连接,但没有成功。
将符号列添加到数据帧,并将索引设置为包括符号列concat,然后取消堆叠该级别:
以下假设dict中的符号数量与数据帧数量相同,并且您根据dict键的顺序检查符号的顺序是否符合您的要求:
我想我会采取这种方法。有些人反对
inplace
语法。我在这里只是为了方便。您可以使用
concat
(参数keys
将创建分层列索引):真正的
concat
需要列表,因此以下内容是等效的:相关问题 更多 >
编程相关推荐