dataframe - проверять условие в числовом столбце и изменять столбец - PullRequest
0 голосов
/ 09 ноября 2019

Мой фрейм данных выглядит следующим образом:

NameA   401016815
NameB   
NameC   414969141
NameD   0403 612 699

Как получить фрейм данных для проверки условия [первый символ равен 4, а длина символа равна 9 цифрам] и добавляет ноль в начале, еслиусловие выполнено.

Проверка условия, чтобы увидеть, если длина символа в 12 цифрах, но содержит только 9 цифр, пробел между ними следует удалить.

1 Ответ

1 голос
/ 09 ноября 2019

Мы можем использовать Series.str.len, чтобы проверить длину строки. Series.startswith, чтобы проверить начало строки. Series.str.replace для удаления пробелов. Мы используем Series.mask для замены или добавления символов в определенных позициях:

#df=df.reset_index() #if Names is the index
df['Number'].mask(df['Number'].str.len()>=12,df['Number'].str.replace(' ',''),inplace=True)
start=df['Number'].str.startswith('4').fillna(False)
df['Number'].mask(start,'0'+df['Number'],inplace=True)
print(df)

Вывод

   Names      Number
0  NameA  0401016815
1  NameB         NaN
2  NameC  0414969141
3  NameD  0403612699
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...