【问题标题】:pandas map column to another dataframe based on series [duplicate]熊猫根据系列将列映射到另一个数据框[重复]
【发布时间】:2020-10-04 18:45:24
【问题描述】:

我有 2 个数据框,我需要能够对这两个数据框的用户进行分类。我能想到的最简单的方法是将它们组合并运行过滤器以获取分类用户。我遇到的问题是实际的组合。我必须假设索引在两个数据帧上都不匹配。

样本数据:

df1 = pd.DataFrame([{ "user" : "ewrgw4t",
         "var1" : "wgw3tg"},
       { "user" : "wegrer",
         "var1" : "khjnjnb"}])

df2 = pd.DataFrame([{ "user" : "ewrgw4t",
         "var2" : "wegwhq"},
       { "user" : "wegrer",
         "var2" : "fbdbda"}])

我试过df3 = df1['user'].map(df2['user'])

但它返回了一系列 NaN

我的预期结果:

df3 = [{"user" : "ewrgw4t",
        "var1" : "wgw3tg",
        "var2" : "wegwhq"},
       {"user" : "wegrer",
        "var1" : "khjnjnb",
        "var2" : "fbdbda"}]

【问题讨论】:

    标签: python pandas dataframe mapping


    【解决方案1】:

    你可以使用

    pd.merge(df1, df2, on='user').to_dict(orient='records')
    

    输出:

    [{'user': 'ewrgw4t', 'var1': 'wgw3tg', 'var2': 'wegwhq'},
     {'user': 'wegrer', 'var1': 'khjnjnb', 'var2': 'fbdbda'}]
    

    【讨论】:

      猜你喜欢
      • 2020-07-07
      • 2021-11-19
      • 1970-01-01
      • 1970-01-01
      • 2018-08-03
      • 2016-09-12
      • 1970-01-01
      • 2022-01-06
      • 2020-06-03
      相关资源
      最近更新 更多