分享
三行代码  ›  专栏  ›  技术社区  ›  gannu

有没有合适的方法可以有效地将dataframe中的值替换成另一个?

  •  1
  • gannu  · 技术社区  · 1 周前

    以下是使用的dataframe iam的示例。我想用homezip替换ED值。

    EmpZipCode         homeZip          
    839E2              839E2
    ED                 A83C3
    ED                 938B4
    ED                 B82E2
    893D9              893D9
    

    字母表(如果存在)保留所有值。期望值如下:

    EmpZipCode         homeZip          
    839E2              839E2
    83C3               A83C3
    938B4              938B4
    82E2               B82E2
    893D9              893D9
    
    1 回复  |  直到 1 周前
        1
  •  2
  •   BEN_YO    1 周前

    我们需要两个 np.where

    s = np.where(df.homeZip.str[0].str.isalpha(),df.homeZip.str[1:], df.homeZip)
    df['EmpZipCode'] = np.where(df['EmpZipCode'].eq('ED'), s , df.EmpZipCode)
    df
    Out[23]: 
      EmpZipCode homeZip
    0      839E2   839E2
    1       83C3   A83C3
    2      938B4   938B4
    3       82E2   B82E2
    4      893D9   893D9