我有一个包含恶意 URL 的数据框,其中 url_type 列具有静态值 2
url_type url_type_txt
2 phishing/fraud
2 trojan
2 trojan
2 phishing
我需要将 url_type
列中的 2 替换为 1,其中 url_type_txt
包含单词 %phish%(可能是“网络钓鱼”) 、“网络钓鱼网址”等)。
我尝试在 for
循环中使用 loc
进行操作,例如:
df3.loc[df3.url_type_txt=="phish", "url_type"] = 1
但这不是合适的解决方案。
有人可以帮助我吗? 谢谢!
最佳答案
使用str.lower
(以确保您捕获网络钓鱼
以及网络钓鱼
)和str.contains()
:
df.loc[df.url_type_txt.str.lower().str.contains('phish'), 'url_type'] = 1
>>> df3
url_type url_type_txt
0 1 phishing/fraud
1 2 trojan
2 2 trojan
3 1 phishing
关于python - 数据框:条件替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50805426/