【发布时间】:2016-09-18 20:01:31
【问题描述】:
鉴于 CSV 文件中的以下表格:
CSV 1:
A B C
AA BB1 BB2 CC
0 1 text 5 7
1 2 text2 6 8
2 3 text3 7 9
在熊猫中:
import pandas as pd
mi=pd.read_csv('csv_to_mi.csv',header=[0,1],encoding='latin-1')
mi = mi.rename(columns={'Unnamed: 2_level_0':'B'})
mi
A B C
AA BB1 BB2 CC
0 1 text 5 7
1 2 text2 6 8
2 3 text3 7 9
CSV 2:
A D E
text T1 9
text2 T2 10
text3 T3 11
在熊猫中:
si=pd.read_csv('csv_to_si.csv',encoding='latin-1')
si
A D E
0 text T1 9
1 text2 T2 10
2 text3 T3 11
我想在 m1['B','BB1'] 和 s1['A'] 上合并它们以获得这个(或功能性多索引数据框):
A B C D E
AA BB1 BB2 CC
0 1 text 5 7 T1 9
1 2 text2 6 8 T2 10
2 3 text3 7 9 T3 11
我之前做过类似的事情,但似乎效果还不错,除非我尝试重命名合并数据框中的 2 列,但由于某种原因它删除了所有其他(未重命名的)列。我还尝试使用仅顶部标题行(作为单索引)读取多索引 csv,将两者合并在一起,然后将结果设为多索引。在我遇到重命名问题之前,这似乎有效。
我尝试先将单索引数据框转换为多索引数据框per jezrael's sage advice(效果很好),然后与多索引数据框合并,但也没有用。
提前致谢!
【问题讨论】:
-
在第一级列
D和E可以是CC和CC? -
很遗憾没有。但它们可以是其他任何东西(偶数,根据您之前在这篇文章中链接的解决方案)。
标签: python-3.x pandas merge multi-index