python - 格式化电话号码
问题描述
我有一个熊猫数据框,我正在尝试以这样一种方式格式化电话号码,以便我想在前三个电话号码的数字 306-877-9993 之间添加破折号。我还想删除字符串“我没有”和虚拟电话号码 999999999999。我该怎么做?谢谢
Last Name First Name Phone number
0 Dupont Marie 3068779993
1 Trey Tom 16669858121
2 Johnson Lily (407)6579091
3 Parmentier John I don't have one
4 Predi Pamela 999999999999
编辑:这是一个 Excel 文件,其中包含手动输入的多个电话号码。我正在尝试查看是否有办法格式化电话号码并清理文件。我试图用 : 去掉括号, df['Phone_number'] = df.Phone_number.str.strip('(')
但我得到了一些电话号码的一堆 NaN。
解决方案
您可以使用clean_phone()
库DataPrep中的函数。安装它pip install dataprep
。
>>> from dataprep.clean import clean_phone
>>> df = pd.DataFrame({"Phone number": [3068779993, "16669858121",
"(407)6579091", "I don't have one", 999999999999]})
>>> clean_phone(df, "Phone number")
Phone Number Cleaning Report:
3 values cleaned (60.0%)
2 values unable to be parsed (40.0%), set to NaN
Result contains 3 (60.0%) values in the correct format and 2 null values (40.0%)
Phone number Phone number_clean
0 3068779993 306-877-9993
1 16669858121 666-985-8121
2 (407)6579091 407-657-9091
3 I don't have one NaN
4 999999999999 NaN
推荐阅读
- python - 使用克隆的 repo 而不是 pip 安装的包
- javascript - 如何为 JavaScript 自动创建文档
- javascript - 如何在禁用之前取消选中复选框?
- blazor - 绑定输入文本更改后未触发 Blazor webassembly 按钮 onclick
- docker - 由于 https 证书“无法获取本地颁发者证书”,docker 容器无法相互通信
- php - 重力形式:使用 Advanced Post Creation Add-On 添加 WooCommerce 产品属性
- angular - 自定义表单控件,它是其他控件的包装器
- python-3.x - 网站不允许使用 selenium chrome 驱动程序在单选按钮或复选框按钮上进行选择
- spring-boot - server.tomcat.relaxed-query-chars=[,] 似乎允许 [ 和 ] 用于我的整个站点,有没有办法为特定的 api 资源执行此操作?
- javascript - 用值替换图像 url 模板