python - 在数据框上查找特定单词
问题描述
当我在数据框中查找一个单词时,它会显示包含这些字母的每个条目,但我真的希望它显示那个特定的单词。你能帮我吗?
这是和示例:
import pandas as pd
d = {'col1': ['ROL', 'ROVER','ROL','ROLLER','ROL','TROLLER','rol','rolter','nan'] ,'col2': [1, 2,3,4,5,6,7,9,10]}
df = pd.DataFrame(data=d)
ROL = df[df['col1'].fillna(0).str.contains("ROL|rol",na=False)]
输出是这样的
但我真正想要的是没有这些条目的东西
解决方案
您的代码的问题是您str.contains("ROL|rol")
匹配除ROVER
. 例如,"ROLLER"
还包含"ROL"
.
试试这个用法str.contains
:
import re
ids = df.col1.str.contains('rol$|rol-|rol ', flags = re.IGNORECASE, regex = True, na = False)
然后过滤:
df[ids]
给出:
Out[115]:
col1 col2
0 ROL 1
2 ROL- 33 3
4 ROL -2 5
6 rol nº12 7
推荐阅读
- android - 我遇到资源问题,它显示“资源目录名称无效”
- python - 如何修复一个不接受它返回的函数?
- apache - 如何通过 .htaccess 同时使用 HTTP 基本身份验证和 IP 地址来限制网站?
- html - 为什么会出现这种渲染伪影?
- angular - 如何在 Angular 中使用两个骨架模板?
- php - 使用带有日期的循环时我的代码中出现逻辑错误致命错误:未捕获的错误:调用成员函数 bind_param()
- powershell - 将今天的日期与 CSV 中的信息进行比较。如果匹配,执行命令
- html - google.script.run.withSuccessHandler 无法正常工作
- meteor - 路由 Meteor/React 应用程序,给它一个普通的 HTML 主页
- go - 字段是否在匿名结构中导出有什么不同吗?