#python #pandas #dataframe
#python #pandas #dataframe
Вопрос:
Ниже приведен пример фрейма данных, с которым я работаю. здесь я пытаюсь заменить отредактированные значения на homezip.
EmpZipCode homeZip
839E2 839E2
ED A83C3
ED 938B4
ED B82E2
893D9 893D9
Здесь я пытаюсь заменить значение unk на homezip таким образом, чтобы оно удаляло первое
алфавит, если присутствует, сохраняет все значение. Желаемый, как показано ниже:
EmpZipCode homeZip
839E2 839E2
83C3 A83C3
938B4 938B4
82E2 B82E2
893D9 893D9
Ответ №1:
Здесь нам нужны два np.where
, 1-й — удалить альфа-версию домашнего zip-файла, 2-й — заменить 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
Комментарии:
1. @gannu сначала мы выполняем настройку в homezip, если это первая буква alpha, мы удаляем ее, затем, когда у нас есть предварительно очищенное значение заполнения, просто нужно назначить, когда оно редактируется