python - 验证 phonenumbers 列 python pandas 与 phonenumbers 库
问题描述
我想使用 phonenumbers 库 https://pypi.org/project/phonenumbers/从我的数据框中检查多个电话号码
我想验证电话号码,最终我想知道该号码来自哪个国家。例如:
接触 | 电话号码 | 电话查询 | 电话国家 |
---|---|---|---|
1 | 31650868016 | 真的 | 荷兰 |
2 | 447986123456 | 真的 | 英国 |
3 | 55677 | 错误的 |
我使用了这个解决方案:https ://stackoverflow.com/a/56782746我做了一个国家专栏。
但我想使用 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:“系列”对象没有属性“电话号码”
解决方案
导致此错误的具体问题是在之后axis
而不是之前放错括号:
df['phone_number_clean'] = df.apply(lambda x: phonenumbers.is_valid_number(phonenumbers.is_valid_number(str(x.phoneNumber), str(x.phone Country )) ) , axis='columns')
我认为以下是您正在寻找的更多内容:
df['phone_number_clean'] = df.apply(lambda x: phonenumbers.is_valid_number(phonenumbers.parse("+"+str(x.phoneNumber), None)), axis=1)
我使用 None 作为占位符是因为您的 DataFrame 中没有国家/地区代码。
推荐阅读
- python - 找到最大值后,在单独的列中查找后续最小值
- cluster-computing - scp'ing 从远程服务器到本地服务器
- r - 如何取消列出嵌套列表并保留子列表的名称(原样)和元素的名称?
- java - 从pdf读取俄语文本并写入excel文件
- cmake - 创建实现多个 LLVM 传递的动态库
- reactjs - 我无法在打字稿中使用动态键名设置状态
- azure - 带有开发人员门户内容的 Azure API 管理实例副本
- kubernetes - 如何自动化 Azure DevOps Kubernetes 服务连接到集群?
- r - 如何删除R中以冒号结尾的文本模式?
- rpmbuild - Spec rpm: how to enter in build directory without using tar files?