在Python Pandas中循环遍历一个列并删除字符

4
这可能非常琐碎,但我在解决它方面遇到了困难。
基本上,我有一个ID列,其中一些值是字母数字混合格式,并且某些值包含在字母数字值之前的文本前缀。 我该如何循环遍历该特定列并检查是否已对字母数字值添加了字符串前缀,然后相应地删除该字符串?
这是我正在尝试的方式,但它不起作用,也不是明智的做法:
document[ID] = document[ID].replace("ReferenceNode, Objectid:", '')

例子:

ID
5d61527f0928c99f3cf10829
5d61527f0928c99f3cf10829
ReferenceNode, ObjectID: 5d61527f0928c99f3cf10829

期望输出:

ID
5d61527f0928c99f3cf10829
5d61527f0928c99f3cf10829
5d61527f0928c99f3cf10829

当我在你的df中尝试df['ID'].replace("ReferenceNode, ObjectID:", '',regex=True)时,它可以工作。但很高兴你找到了答案。也许根据你的数据应该使用ObjectID而不是Objectid - anky
1个回答

4

尝试使用 .map() 处理您的任务:

document['ID'] = document['ID'].map(lambda x: x.replace("ReferenceNode, Objectid:", ''))

太棒了,完美地解决了问题,奇怪的是为什么只用替换就不能解决。 - jcoke
如果这有帮助到您,请确保将答案标记为正确 :) - Punker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接