This question already has answers here:
Join/merge dataframes and preserve the row-order
                                
                                    (3个答案)
                                
                        
                                7个月前关闭。
            
                    
我想在'word'上合并两个数据框。他们看起来像这样:

df1

   word    other_data
0  hello      1
1  how        2
2  are        3
3  you        4


df2

   word
0  hello
1  ,
2  how
3  are
4  you
5  ?


我想要的结果是这样的:

   word    other_data
0  hello      1
1  ,          NaN
2  how        2
3  are        3
4  you        4
5  ?          NaN


我能够获得所需结果的最接近的方法就是此方法,但是它会产生不按原始顺序排列的df。

pd.merge(df1, df2, how='right')

最佳答案

您需要的是联接,这是在pandas buy上完成的,将另一个数据帧的索引设置为所需的键并指定联接操作的键,这很简单:

df2.join(df1.set_index('word'), on='word')

关于python - 合并数据框并创建NaN值,而无需重新排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57168110/

10-12 16:51
查看更多