This question already has answers here:
Pandas Merging 101
(2个答案)
去年关闭。
大家。
我有一个与DataFrame Merge相关的问题。
我使用DF1,DF2。
DF1具有用户ID,内容ID,类型列。
DF2具有UserID,ContentID,Rating列。
我想使用多个coloumn-key(UserID,ContentID)
然后显示匹配行的评分显示,没有匹配行是NAN
请检查以下CSV,
请帮助我,谢谢
(2个答案)
去年关闭。
大家。
我有一个与DataFrame Merge相关的问题。
我使用DF1,DF2。
DF1具有用户ID,内容ID,类型列。
DF2具有UserID,ContentID,Rating列。
我想使用多个coloumn-key(UserID,ContentID)
然后显示匹配行的评分显示,没有匹配行是NAN
请检查以下CSV,
请帮助我,谢谢
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
最佳答案
简单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
09-16 00:03