【问题标题】:how to compare two columns in different data frames & replace the values如何比较不同数据框中的两列并替换值
【发布时间】:2022-11-16 22:56:41
【问题描述】:

那里有两个数据框, df1 有 2 列,名称和职业

df_1
        Name         profession     
        srinu        senior engineer    
        Azahar       engineer 
        vijaya       data analyst 
        rahul        team lead 
        swapna       manager
        krishna      engineer 
        rama         senior engineer 

df_2 只有一列带有 (name-employeeid) df_2

        Name-empid           
                
        vijaya-2124148      
        rahul-2124152    
        krishna-2124189     
        rama-2124169         

我正在尝试使用名称比较 df1 和 df2,如果 df2 中的名称与 df1 匹配,则应将专业替换为“数据科学家”。

我已经尝试了很多东西,但无法弄清楚,有人可以帮助我吗?

我试过使用地图,替换..但出现错误

【问题讨论】:

    标签: python pandas dataframe replace


    【解决方案1】:

    你可以使用:

    # extract the names from df_2
    m = (df_1['Name']
         .str.lower()
         .isin(df_2['Name-empid'].str.extract('(w+)-', expand=False))
         )
    
    # match with df_1 ensuring common case
    df_1.loc[m, 'profession'] = 'Data Scientist'
    

    输出:

          Name       profession
    0    srinu  senior engineer
    1   Azahar         engineer
    2   vijaya   Data Scientist
    3    rahul   Data Scientist
    4   swapna          manager
    5  krishna   Data Scientist
    6     rama   Data Scientist
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多