我正在尝试用连接两个数据帧
pd.concat([df1.set_index(["t", "tc"]), df2.set_index(["t", "tc"])], axis=1)
在df1中,索引可能不是唯一的。在这种情况下,我希望将df2中的相应条目插入到具有该索引的所有行中。不幸的是,concat并没有这么做,而是给了我一个错误。我认为ignore_index = True
可能会有所帮助,但我仍然收到错误ValueError: cannot handle a non-unique multi-index!
有没有一种替代concat的方法可以满足我的需求?
例如:df1
t tc a
a 1 5
b 1 6
a 1 7
df2:
t tc b
a 1 8
b 1 10
结果(重置索引后(:
t tc a b
a 1 5 8
b 1 6 10
a 1 7 8
使用.merge,您可以获得需要的位置
df1.merge(df2, on =['t', 'tc'])
#result
t tc a b
0 a 1 5 8
1 a 1 7 8
2 b 1 6 10