【问题标题】:How to map 2 columns by using 2 dataframe in pandas?如何在 pandas 中使用 2 个数据框映射 2 列?
【发布时间】:2021-07-12 09:15:59
【问题描述】:

df_map

Camp_old     Camp_New         Plat
A_B          C_D              Car
E_F          G_H              Auto
W_X          Y_Z              Star


df_main
Camp        Num        
W_X         5
E_F         NaN
A_C_R       3
A_B         6

我想将新营地映射到 df_main 的营地,这很容易通过创建字典并将其传递给地图。我的挑战是我需要从 df_map 以及新列映射 Plat。

这就是我想要的输出应该是这样的:

    Camp        Num     Camp_New    Plat
    W_X         5       Y_Z         Star
    E_F         NaN     G_H         Auto
    A_C_R       3       NaN         NaN
    A_B         6       C_D         Car

【问题讨论】:

  • df_main.merge(df_map, left_on='Camp', right_on='Camp_old', how='outer').drop(columns='Camp_old')

标签: python pandas dictionary multiple-columns


【解决方案1】:

你需要合并两个数据框:

>>> df_main.merge(df_map, left_on='Camp', right_on='Camp_old', how='left')

    Camp  Num Camp_old Camp_New  Plat
0    W_X  5.0      W_X      Y_Z  Star
1    E_F  NaN      E_F      G_H  Auto
2  A_C_R  3.0      NaN      NaN   NaN
3    A_B  6.0      A_B      C_D   Car

【讨论】:

    猜你喜欢
    • 2018-04-09
    • 2017-05-05
    • 2021-08-31
    • 1970-01-01
    • 2017-10-05
    • 1970-01-01
    • 1970-01-01
    • 2018-12-23
    • 2015-10-14
    相关资源
    最近更新 更多