我是Python的新手,目前正在(尝试)编写一个程序来清除csv中的数据。我有要在数据框中清除的数据(请参见下面的代码)。
import pandas as pd
import numpy as np
import re
filepath = "C:/Users/Desktop/Tester.csv"
df = pd.read_csv(filepath)
non_alpha = ['Member_Zip'
,'Member_Phone_Primary'
,'Member_Phone_Secondary']
for remove in non_alpha:
df[remove] = [re.sub(r'[^0-9]','',str(x)) for x in df[remove]]
RegEx是我遇到问题的地方。在Tester.csv中,我在"a9[1*0&9.21645"
,"(123) 456-7890"
和"(012)345- 6789"
字段中分别具有Member_Zip
,Member_Phone_Primary
和Member_Phone_Secondary
的值。当我运行该程序时,删除非数字字符的循环对于电话号码字段非常适用,但对我的邮政编码字段则不适用。我对这种情况感到困惑。当我调用dtypes
函数时,所有字段都被列为字符串。任何见识将不胜感激。
谢谢!