【问题标题】:Merge two dataframes based on same column value基于相同的列值合并两个数据框
【发布时间】:2020-06-18 07:37:47
【问题描述】:

我想像在 excel 中一样在 pandas 中进行 vlookup。换句话说:

  • 如果两列(B 和 C)中的值相同,则在新的 D 列中打印(同时保留 A 列)。
  • 在任何其他情况下放置 NaN

我做到了:vlookup = df1.merge(df2, on = 'A') 但它复制了 B 的列值并放在任何地方。

df1 = 

A      B

car    VB
car    K2
car    V9
car    VX

df2 = 

A      C

car    VB
car    K2
cat    BN
monkey AS

期望的输出:

df3 = 
A      D      

car    VB     
car    K2     
cat    NaN
car    NaN    
cat    NaN

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    你应该这样做

    df3=df1.merge(df2.rename(columns={'C':'B'}),on=['A','B']).rename(columns={'B':'D'})
         A   D
    0  car  VB
    1  car  K2
    

    【讨论】:

      猜你喜欢
      • 2019-05-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-30
      • 2021-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-28
      相关资源
      最近更新 更多