答案 0 :(得分:2)
要从数据框列中删除不需要的字符,请使用正则表达式:
def strip_character(dataCol):
r = re.compile(r'[^a-zA-Z !@#$%&*_+-=|\:";<>,./()[\]{}\']')
return r.sub('', dataCol)
df[resultCol] = df[dataCol].apply(strip_character)
答案 1 :(得分:1)
例如,您可以设置一个有效字符的字母
import string
alphabet = string.ascii_letters+string.punctuation
哪个
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
只需使用
df.col.str.strip(alphabet).astype(bool).any()
例如,
df = pd.DataFrame({'col1':['abc', 'hello?'], 'col2': ['ÃÉG', 'Ç']})
col1 col2
0 abc ÃÉG
1 hello? Ç
然后,使用上面的字母
df.col1.str.strip(alphabet).astype(bool).any()
False
df.col2.str.strip(alphabet).astype(bool).any()
True
特殊字符语句可能非常棘手,因为它取决于您的解释。例如,您可能或可能不认为#
是特殊字符。另外,某些语言(例如葡萄牙语)可能具有ã
和é
这样的字符,而其他语言(例如英语)则不会。