python - Pandas:针对每个列表项搜索 df 列,从 df 列中弹出匹配值

标签 python pandas

我正在尝试进行包含替换,然后从列表中弹出匹配的值。

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/

相关文章:

python - 在Python中从Dataframe中删除数字行

python - Python 中的 HTTP 代理服务器(带身份验证)

python - 在 Visual 97 Windows C 程序中编译嵌入 Python 3.5

python - 创建一个 python 脚本,将 ping 结果打印到旋转日志中

python - Pandas 在添加列值后将所有数据转换为 NaN

python - 如何在 Windows 上使用 iPython Notebook 解决 pandas 的导入错误?

python - 将数据框转换为元组列表

python - Pandas :noauth_local_webserver

php - 实现python切片表示法

python - CGI脚本编写安全