我有两个数据框df1
:
column1 column2
0 A B
1 A A
2 C A
3 None None
4 None None
和df2
id l
40 100005090 A
188 100020985 B
现在我想加入df1
和df2
,但我不知道如何匹配索引。如果我只是df1.join(df2)
,则索引与df2
对齐。也就是说,它找到df2
的第40个条目,现在是从40开始的数据帧的第一个条目(df1
)。如何告诉pandas将索引与df1
对齐,这意味着df2
的第一个条目实际上是索引40?也就是说,我想得到:
id l column1 column2
40 100005090 A A B
188 100020985 B A A
...
答案 0 :(得分:1)
您可以获取与df1
长度相同的df片段,然后您可以覆盖索引值,然后join
:
In [174]:
sub = df.iloc[:len(df1)]
sub.index = df1.index
df1.join(sub)
Out[174]:
id l column1 column2
40 100005090 A A B
188 100020985 B A A
如果dfs的长度相同,则不需要第一行,只需使用其他df的索引值覆盖索引。