Я пытаюсь проверить правильность номеров телефонов в кадре данных.
В частности, я хочу проверить, содержит ли номер телефона пробелы: - Если ДА, а первая часть длиннее 6 персонажи, я хочу удалить вторую часть; если длина не 6 символов, я хочу удалить пробел - если НЕТ, продолжайте
Это мой код:
print(np.where(
offline.PHONE_NUMBER.notnull(),
np.where(offline.PHONE_NUMBER.str.contains(" ", regex = False),
np.where(offline.PHONE_NUMBER.str.split(expand = True)[1] != 'None',
np.where(offline.PHONE_NUMBER.str.split(expand = True)[0].str.contains(r".{6,}", regex = True),
offline.PHONE_NUMBER.str.split(expand = True)[0], offline.PHONE_NUMBER.str.replace(r" ", "")),
offline.PHONE_NUMBER), offline.PHONE_NUMBER), offline.PHONE_NUMBER))
, и он выдает мой IndexError: list index вне диапазона.
Я знаю из предыдущих вопросов, что str.split () может выдавать ошибку, если ожидаемый символ не содержится в строке, но я подумал, что при проверке нулевых значений и offline.PHONE_NUMBER.str.contains ( "", regex = False) Я мог бы избежать этой проблемы.
Вы можете мне помочь? Чего мне не хватает?
Спасибо!