Aer*_*rin 5 python regex dataframe pandas
df(Pandas Dataframe)有三行.
col_name
"This is Donald."
"His hands are so small"
"Why are his fingers so short?"
Run Code Online (Sandbox Code Playgroud)
我想提取包含"是"和"小"的行.
如果我做
df.col_name.str.contains("is|small", case=False)
Run Code Online (Sandbox Code Playgroud)
然后它也抓住了"他的" - 这是我不想要的.
以下查询是在df.series中捕获整个单词的正确方法吗?
df.col_name.str.contains("\bis\b|\bsmall\b", case=False)
Run Code Online (Sandbox Code Playgroud)
不,正则表达式/bis/b|/bsmall/b会失败,因为你正在使用/b,而不是\b那意味着"单词边界".
改变这一点,你得到一个匹配.我建议使用
\b(is|small)\b
Run Code Online (Sandbox Code Playgroud)
至少对我来说,正则表达式更快一点,更清晰.
| 归档时间: |
|
| 查看次数: |
4390 次 |
| 最近记录: |