替换特定Pandas Dataframe列的子字符串

时间:2018-01-17 00:28:40

标签: python python-2.7 pandas dataframe replace

请注意:我试图仅尝试替换特定列的值,而不是整个数据帧。我无法找到任何涉及在数据框中的单个列上使用.replace()的SO问题。

我试图在Pandas数据框中隔离单个列,并在列中出现时替换特定的子字符串。我试图使用.iloc和.replace(),但出于某些原因,当我将副本保存为新的数据帧时,这似乎有效。是否无法在数据框中的单个列(或两个)上使用.replace?截至目前,我不得不求助于替换整个数据框中的子字符串,然后手动更改一些值(这是可怕的做法,并且本质上违反了Python的原则)任何和所有帮助都将大大赞赏。我的代码示例如下:

以下是我最初的尝试;但是,它仅在我将选择保存到新数据框中时才有效(在更改后我需要原始数据框完整)

成功替换了值:

df_1 = df.iloc[:, [13, 20]].replace({' AD': ' AB'}, regex=True)

未成功替换值:

df.iloc[:, [13, 20]].replace({' AD': ' AB'}, regex=True)

我采取的措施:

df = df.replace({' AD': ' AB'}, regex=True)    
df = df.replace({'BAB': 'BAD'}, regex=True)
df = df.replace({'BAB': 'BAD'}, regex=True)
df = df.replace({'ABVERTISE': 'ADVERTISE'}, regex=True)

如果需要任何其他细节,请告诉我 - 我觉得有一个超级简单的解决方案......我似乎无法在任何地方找到它

0 个答案:

没有答案