请注意:我试图仅尝试替换特定列的值,而不是整个数据帧。我无法找到任何涉及在数据框中的单个列上使用.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)
如果需要任何其他细节,请告诉我 - 我觉得有一个超级简单的解决方案......我似乎无法在任何地方找到它