Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 删除数据帧中的所有特殊字符_Python_Regex_Pandas_Replace_Special Characters - Fatal编程技术网

Python 删除数据帧中的所有特殊字符

Python 删除数据帧中的所有特殊字符,python,regex,pandas,replace,special-characters,Python,Regex,Pandas,Replace,Special Characters,从熊猫数据框中删除所有特殊字符时遇到问题。 你能帮我吗 我试过这样的方法: df = df.replace(r'\W+', '', regex=True) 因为我在最近的一篇文章中找到了它。 但是当我执行时,例如特殊字符“'”不会消失 我知道在PostgresSQL中有类似于[^\w]的东西来获取特定列表。python中是否有类似的功能 a) 只保留字母表 b) 只保留数字 c) 保留字母和数字 谢谢你的帮助 只要这样做: df = df.replace(r'[^0-9a-zA-Z ]', '

从熊猫数据框中删除所有特殊字符时遇到问题。 你能帮我吗

我试过这样的方法:

df = df.replace(r'\W+', '', regex=True)
因为我在最近的一篇文章中找到了它。 但是当我执行时,例如特殊字符“'”不会消失

我知道在PostgresSQL中有类似于
[^\w]
的东西来获取特定列表。python中是否有类似的功能

a) 只保留字母表

b) 只保留数字

c) 保留字母和数字

谢谢你的帮助

只要这样做:

df = df.replace(r'[^0-9a-zA-Z ]', '', regex=True).replace("'", '')

[^0-9a-zA-Z]
匹配Unicode字母和数字,这将删除太多

使用

df=df.replace(r'[^\w\s]|",'',regex=True)

解释

--------------------------------------------------------------------------------
  [^\w\s]                  any character except word characters (\p{L}, \p{N}, _) 
                           and whitespace (\p{Z})
--------------------------------------------------------------------------------
 |                        OR
--------------------------------------------------------------------------------
  _                        '_'

谢谢你的回答,但那没用。例如,“米格拉德巴赫”应该变成“米格拉德巴赫”。“'”是一个特殊字符吗?@Cvleupke奇怪,为什么?@Cvleupke是通过一个错误完成的?是否有一本字典可以让我查找[\W\uz]中包含哪些特殊字符?@Cvleupke我已经给出了我的答案,请再检查一遍“特殊字符”是什么意思
\w
\w
处理的不仅仅是
A-Z
(更不用说非英语字母)和数字的单词字符。奥雷利怎么样?还是挪威语?谢谢你@Ryszard