使用电话号码库验证电话号码列 python pandas

Validation phonenumbers column python pandas with phonenumbers library

我想使用 phonenumbers 库从我的数据框中检查多个 phone 数字 https://pypi.org/project/phonenumbers/

我想验证 phone 号码,最后我想知道该号码来自哪个国家/地区。例如:

接触 phone人数 phone检查 phone国家
1 31650868016 正确 荷兰
2 447986123456 正确 英国
3 55677

我使用了这个解决方案:我做了一个国家专栏。

但我想使用 phonenumbers.is_valid_number() 函数,最终使用 geocoder.description_for_number() 函数。

df['phone_number_clean'] = df.apply(lambda x: 
                              phonenumbers.is_valid_number(phonenumbers.is_valid_number(str(x.phoneNumber), 
                                                 str(x.Country)), 
                              axis='columns'))

错误:AttributeError:'Series' 对象没有属性 'phoneNumber'

导致此错误的具体问题是 axis 之后而不是之前的错位括号:

df['phone_number_clean'] = df.apply(lambda x: phonenumbers.is_valid_number(phonenumbers.is_valid_number(str(x.phoneNumber), str(x.phoneCountry))), axis='columns')

不过,我认为以下内容更符合您的需求:

df['phone_number_clean'] = df.apply(lambda x: phonenumbers.is_valid_number(phonenumbers.parse("+"+str(x.phoneNumber), None)), axis=1)

我使用 None 作为占位符,因为您的 DataFrame 中没有国家代码。