如何使用.maketrans()和.unicodedata()从Python 3.x中删除标点符号和特殊字符?
我想使用maketrans()和unicodedata()从csv文件中删除所有标点符号和特殊字符,如下所示。但我不明白结果 我需要的输出是一个数据帧,只是没有标点符号和特殊字符如何使用.maketrans()和.unicodedata()从Python 3.x中删除标点符号和特殊字符?,python,pandas,punctuation,Python,Pandas,Punctuation,我想使用maketrans()和unicodedata()从csv文件中删除所有标点符号和特殊字符,如下所示。但我不明白结果 我需要的输出是一个数据帧,只是没有标点符号和特殊字符 import pandas as pd from glob import glob 输出为: 全名{33:None,34:None,35:None,36:None,37:N。。。 dtype:object您可以在需要执行此操作的每列上使用str.replace(): df = pd.DataFrame(data={'
import pandas as pd
from glob import glob
输出为:
全名{33:None,34:None,35:None,36:None,37:N。。。
dtype:object您可以在需要执行此操作的每列上使用str.replace():
df = pd.DataFrame(data={'Name' : ['He,nry.', 'Jody.', 'F,ran/', 'Adam*']})
Name
0 He,nry.
1 Jody.
2 F,ran/
3 Adam*
df.Name.str.replace("[^a-zA-Z0-9]", "")
Output:
0 Henry
1 Jody
2 Fran
3 Adam
import unicodedata2 as unicode
import stringt
def normalizing_text(text_normalize):
nfkd_form = unicode.normalize('NFKD', str(text_normalize))
non_accented_name = "".join([c for c in nfkd_form if not unicode.combining(c)])
return str.maketrans(dict.fromkeys([*string.punctuation, *string.digits]))
names = names.apply(normalizing_text)
names
df = pd.DataFrame(data={'Name' : ['He,nry.', 'Jody.', 'F,ran/', 'Adam*']})
Name
0 He,nry.
1 Jody.
2 F,ran/
3 Adam*
df.Name.str.replace("[^a-zA-Z0-9]", "")
Output:
0 Henry
1 Jody
2 Fran
3 Adam