首页 > 解决方案 > 使用 python pandas 多索引数据框按名称附加

问题描述

我正在尝试在循环中附加一个熊猫多索引数据框。

我的多索引数据框看起来有点像这样(我们称之为 df1):

method     (TestAa, TestAb)
properties level     l      r
0          0.0   144.6  161.4
1          0.1   146.3  161.4
2          0.2   148.0  161.4
3          0.3   149.7  161.4
4          0.4   151.3  161.4

现在我想向它附加另一个数据帧(df2),以便附加的数据帧按名称“方法”(顺便说一句是一个字符串元组)排序。在我看来,它应该是这样的:

method     (TestAa, TestAb)     /  (TestBa, TestBb)                   
properties level       l      r /  level       l      r
0            0.0   144.6  161.4 /    0.0   150.6  161.4
1            0.1   146.3  161.4 /    0.1   151.3  161.4
2            0.2   148.0  161.4 /    0.2   152.0  161.4
3            0.3   149.7  161.4 /    0.3   153.7  161.4
4            0.4   151.3  161.4 /    0.4   155.3  161.4

换句话说,我想向现有数据框添加另一列。

现在我正在按照文档中的描述创建 df :

method = tuple([TestAa, TestAb])
columns = [[method]*3,["level", "l", "r"]]
tuples = list(zip(*columns))
index = pd.MultiIndex.from_tuples(tuples, names=['method', 'properties'])
df1= pd.DataFrame(columns=index, data=data, dtype=np.float)

先感谢您!

标签: pythonpandasdataframemulti-index

解决方案


我相信只需要concat

df = pd.concat([df1, df2], axis=1)

推荐阅读