Python 3.x 如何替换dataframe列/系列中的所有反斜杠

Python 3.x 如何替换dataframe列/系列中的所有反斜杠,python-3.x,pandas,dataframe,Python 3.x,Pandas,Dataframe,我想用空值替换dataframe列的任何“\”值 dataframe列 name jack\\\`s ltd jack & co \ jack\'s kitchen 我可以用df[df['name'].str.contains'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ df['name']。替换“\\\\”,inplace=True,没有任何更改。尝试这样做: df['name'] = df['nam

我想用空值替换dataframe列的任何“\”值

dataframe列

name
jack\\\`s ltd
jack & co \
jack\'s kitchen
我可以用df[df['name'].str.contains'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
df['name']。替换“\\\\”,inplace=True,没有任何更改。

尝试这样做:

df['name'] = df['name'].replace(r'\\\\', '')

试着这样做:

df['name'] = df['name'].replace(r'\\\\', '')
您需要:

使用 使用反斜杠转义每个反斜杠,实际上是反斜杠数的两倍。 每条注释:replace的默认值为regex=None(如果未传递),str.replace和regex=True的默认值为。例如,您可以执行以下操作:df[df['name'].str.contains\\\\,regex=False],这将只返回一行。 要删除指定列中的所有反斜杠,请使用:

因此,str.replace会删除字符串的一部分,而replace会查找整个字符串,除非传递regex=True,这会更改每个方法的工作方式:

df['name'] = df['name'].str.replace(r'\\\\', '') #this will replace two consecutive backslashes.

您需要:

使用 使用反斜杠转义每个反斜杠,实际上是反斜杠数的两倍。 每条注释:replace的默认值为regex=None(如果未传递),str.replace和regex=True的默认值为。例如,您可以执行以下操作:df[df['name'].str.contains\\\\,regex=False],这将只返回一行。 要删除指定列中的所有反斜杠,请使用:

因此,str.replace会删除字符串的一部分,而replace会查找整个字符串,除非传递regex=True,这会更改每个方法的工作方式:

df['name'] = df['name'].str.replace(r'\\\\', '') #this will replace two consecutive backslashes.

你也可以试试这个: df[name]=df[name].applylambda x:x.替换“\\\\”,

您也可以尝试以下操作:
df[name]=df[name].applylambda x:x.replace'\\\\',

不传递inplace=True。在您的代码中,您已经将值设置回列,因此不应该使用inplace。谢谢您的提示。那是非常正确的。我编辑了它!你的回答是对的,我要砰的一声不要原地通过=正确。在您的代码中,您已经将值设置回列,因此不应该使用inplace。谢谢您的提示。那是非常正确的。我编辑了它!你的回答是对的,我要砰的一声非常感谢。如何替换所有“\”而不管有多少行是空的。@Osca df['name']=df['name'].str.replacer'\\',为什么df[df['name'].str.contains\\\\\]返回所有带“\”的行,不管重复多少次。但是df['name']=df['name'].str.replacer'\\\\\\',只替换了两个连续的'\\\\'。@Osca请参阅更新的答案。我还包括了文档的链接。谢谢。如何替换所有“\”而不管有多少行是空的。@Osca df['name']=df['name'].str.replacer'\\',为什么df[df['name'].str.contains\\\\\]返回所有带“\”的行,不管重复多少次。但是df['name']=df['name'].str.replacer'\\\\\\',只替换了两个连续的'\\\\'。@Osca请参阅更新的答案。我还包括了文档的链接。