[英]Removing special characters from a dataframe column of phone numbers
我有一個數據幀df
:
Name phone_number status
john 8967894567 FC
john 8967894567 FC
john 7846897345 CL
john 78.478954+89 FC
john 78.478954+89 FC
Ram 4598761458 FC
Ram 4598761458 FC
Kevin 15.478945+67 CL
我想更改它以獲得以下結果:
Name phone_number status
john 8967894567 FC
john 8967894567 FC
john 7846897345 CL
john 7847895489 FC
john 7847895489 FC
Ram 4598761458 FC
Ram 4598761458 FC
Kevin 1547894567 CL
我試着像這樣使用re.sub
:
import re
df['phone_number'] = re.sub('[.+]', '', df['phone_number'])
但結果是:
Name phone_number status
john 0 0 8967894567\n1 1547894567 FC
john 0 0 8967894567\n1 1547894567 FC
john 0 0 7846897345\n1 1547894567 CL
john 0 0 7847895489\n1 1547894567 FC
john 0 0 7847895489\n1 1547894567 FC
Ram 0 0 4598761458\n1 1547894567 FC
Ram 0 0 4598761458\n1 1547894567 FC
Kevin 0 0 1547894567\n1 1547894567 CL
我究竟做錯了什么?
不要使用re.sub
,它不適合使用數據幀。 使用str.replace
代替它。
df.phone_number = df.phone_number.str.replace('[^\d]+', '')
df
Name phone_number status
0 john 8967894567 FC
1 john 8967894567 FC
2 john 7846897345 CL
3 john 7847895489 FC
4 john 7847895489 FC
5 Ram 4598761458 FC
6 Ram 4598761458 FC
7 Kevin 1547894567 CL
模式[^\\d]+
將匹配任何不是數字的東西,也就是刪除的東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.