Как я могу анализировать телефонные номера из фрейма данных pandas, в идеале используя библиотеку phonenumbers?
Я пытаюсь использовать порт библиотеки Google libphonenumber на Python, https://pypi.org/project/phonenumbers /а>.
У меня есть фрейм данных с 3 миллионами телефонных номеров из многих стран. У меня есть строка с номером телефона и строка с кодом страны/региона. Я пытаюсь использовать функцию разбора в package. Моя цель - проанализировать каждую строку, используя соответствующий код страны, но я не могу найти способ сделать это эффективно.
Я пытался использовать применить, но это не сработало. Я получаю сообщение «(0) Отсутствует или недействителен регион по умолчанию». ошибка, означающая, что он не передаст строку кода страны.
df['phone_number_clean'] = df.phone_number.apply(lambda x:
phonenumbers.parse(str(df.phone_number),str(df.region_code)))
Строка ниже работает, но не дает мне того, что я хочу, так как цифры, которые я получил примерно из 120+ разных стран.
df['phone_number_clean'] = df.phone_number.apply(lambda x:
phonenumbers.parse(str(df.phone_number),"US"))
Я пытался сделать это в цикле, но это ужасно медленно. Мне потребовалось больше часа, чтобы разобрать 10 000 чисел, и у меня примерно в 300 раз больше:
for i in range(n):
df3['phone_number_std'][i] =
phonenumbers.parse(str(df.phone_number[i]),str(df.region_code[i]))
Есть ли метод, который мне не хватает, который мог бы работать быстрее? Функция применения работает приемлемо хорошо, но я не могу передать ей элемент фрейма данных.
Я все еще новичок в Python, поэтому, возможно, у этого есть простое решение. Но я был бы очень признателен за вашу помощь.