有没有一种有效的方法来用另一种有效的方法替换数据框中的值?

时间:2020-09-15 23:43:09

标签: python pandas dataframe

以下是iam使用的数据帧的示例。在这里,可以用homezip替换ED值。

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

我在这里尝试用homezip替换unk值,使之脱下第一个 字母(如果存在)将保留所有值。期望如下:

EmpZipCode         homeZip          
839E2              839E2
83C3               A83C3
938B4              938B4
82E2               B82E2
893D9              893D9

1 个答案:

答案 0 :(得分:3)

我们这里需要两个np.where,第一个是删除家庭邮编的Alpha,第二个是用先前的输出替换ED

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