通过匹配键联接DataFrames

时间:2019-02-28 17:53:56

标签: python pandas numpy

我正试图加入两个具有匹配键的DataFrame。目前,我已经尝试了所有三种可能的方法:df.merge,df.join,df.concat,但是没有运气。

#DataFrame 1: 
#  Timestamp  PageId LoadDuration
#  01/01/2019 1      10
#  01/01/2019 2      20
#  01/01/2019 3      30

#DataFrame 2:
#  Timestamp   PageId    QueryCount
#  01/01/2019  1         5
#  01/01/2019  2         3
#  01/01/2019  3         4 

以及我想要获得的结果,作为DataFrame:

#Result DataFrame:
#  Timestamp  PageId LoadDuration QueryCount
#  01/01/2019 1      10           5
#  01/01/2019 2      20           3
#  01/01/2019 3      30           4

这是我的串联线:

finalized_grouped_by_df = pd.concat([df1,df2])

但是我得到类似以下结果的DataFrame:

#Current Result DataFrame:
#                    LoadDuration
#  (01/01/2019,1)      10
#  (01/01/2019,2)      20
#  (01/01/2019,3)      30
#                    QueryCount
#  (01/01/2019,1)         5
#  (01/01/2019,2)         3
#  (01/01/2019,3)         4 

有什么主意如何通过匹配的PageId键将两个DataFrame联接在一起?

3 个答案:

答案 0 :(得分:1)

尝试

 pd.merge(df1,df2 , on = 'PageId' , how = 'inner')

答案 1 :(得分:0)

您可以使用CLOB

TEXT

答案 2 :(得分:0)

当我只想引入一列时,我尽量避免合并。 这将创建一个以PageId为键,而QueryCount为值的字典,然后从该字典创建QueryCount列。

import com.jfoenix.*;