【问题标题】:Pandas Dataframe merge multi-key [duplicate]Pandas Dataframe合并多键[重复]
【发布时间】:2017-10-25 01:41:41
【问题描述】:

每个人。

我有一个与 DataFrame Merge 相关的问题。

我使用 DF1、DF2。

DF1 有 UserID、ContentID、Genre 列。 DF2 有 UserID、ContentID、Rating Column。

我想使用多列键(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

【问题讨论】:

  • 您可以投票并接受您提出的问题。

标签: python pandas dataframe multiple-columns


【解决方案1】:

简单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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-05
    • 1970-01-01
    • 1970-01-01
    • 2020-11-01
    • 2015-11-23
    • 2017-11-27
    • 2017-05-10
    相关资源
    最近更新 更多