我正在尝试进行包含替换,然后从列表中弹出匹配的值。
import pandas as pd
mylist = ['australia','hong kong', 'usa']
data = {'col': ['abc company','abc australia xyz','hong kong company']}
df = pd.DataFrame(data, columns=['col'])
df
输出将是: df['col']: 'abc 公司','abc xyz', '公司'
我阅读了文档,搜索了 stackoverflow,查看了正则表达式、列表推导式、拆分列等。
我希望这个功能能够工作:
df['col'].replace(mylist, "")
最佳答案
使用正则表达式 replace ,要使其起作用,请使用“|”将它们连接起来:
df['col'].replace('|'.join(mylist), "", regex=True)
#0 abc company
#1 abc xyz
#2 company
您可能需要添加 str.strip()
删除不必要的空白
关于python - Pandas:针对每个列表项搜索 df 列,从 df 列中弹出匹配值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54658014/