我想要合并3个数据帧。它们看起来像这样:
df1 |df2 |df3
col1 col2 |col1 col2 |col1 col3
1 5 2 9 1 some
2 data
我希望前两个df-s基于col1
合并到第三个df中,因此所需的输出是
df3
col1 col3 col2
1 some 5
2 data 9
我怎样才能做到这一点?我在尝试:
df3['col2'] = df1[df1.col1 == df3.col1].col2 if df1[df1.col1 == df3.col1].col2 is not None else df2[df2.col1 == df3.col1].col2
为此,我得到ValueError: Series lengths must match to compare
保证df3
或col1
中存在df1
的{{1}}值。这样做的方法是什么?请注意,简单的df2
不起作用,因为concat
中还有其他数据,而不仅仅是df3
。