Pandas Dataframe合并多键

时间:2017-10-25 01:41:42

标签: python pandas dataframe multiple-columns

每个人

我在DataFrame Merge中有一个问题。

我使用DF1,DF2。

DF1有UserID,ContentID,Genre Column。 DF2具有UserID,ContentID,Rating Column。

我想使用multi coloumn-key(UserID,ContentID) 然后匹配行评级显示,没有匹配行是NAN

Plz,请查看以下CSV,

帮助我,PLZ,谢谢

DataFrame1

UserID ContentID Genre 
U-1    C-1       G-1
U-1    C-2       G-2
U-1    C-3       G-3
U-2    C-1       G-1
U-2    C-2       G-2
U-2    C-3       G-3
U-3    C-1       G-1
U-3    C-2       G-2
U-3    C-3       G-3


DataFrame2
UserID ContentID Rating
U-1    C-1       3
U-1    C-2       3
U-2    C-2       3
U-3    C-1       3

Want Result
UserID ContentID Genre Rating
U-1    C-1       G-1   3
U-1    C-2       G-2   3
U-1    C-3       G-3   NAN
U-2    C-1       G-1   NAN
U-2    C-2       G-2   3
U-2    C-3       G-3   NAN
U-3    C-1       G-1   3
U-3    C-2       G-2   NAN
U-3    C-3       G-3   NAN

1 个答案:

答案 0 :(得分:2)

简单merge

df1.merge(df2,on=['UserID','ContentID'],how='left')
Out[531]: 
  UserID ContentID Genre  Rating
0    U-1       C-1   G-1     3.0
1    U-1       C-2   G-2     3.0
2    U-1       C-3   G-3     NaN
3    U-2       C-1   G-1     NaN
4    U-2       C-2   G-2     3.0
5    U-2       C-3   G-3     NaN
6    U-3       C-1   G-1     3.0
7    U-3       C-2   G-2     NaN
8    U-3       C-3   G-3     NaN