从python pandas的dataframe列中搜索匹配的字符串模式

萨蒂亚

我有一个如下数据框

 name         genre
 satya      |ACTION|DRAMA|IC|
 satya      |COMEDY|BIOPIC|SOCIAL|
 abc        |CLASSICAL|
 xyz        |ROMANCE|ACTION|DARMA|
 def        |DISCOVERY|SPORT|COMEDY|IC|
 ghj        |IC|

现在,我想查询数据帧,以便获得第1,5和6行。i:ei想找到| IC |。单独使用或与其他类型任意组合使用。

到现在为止,我可以使用

df[df['genre'] == '|ACTION|DRAMA|IC|']  ######exact value yields row 1

或包含搜索依据的字符串

 df[df['genre'].str.contains('IC')]  ####yields row 1,2,3,5,6
 # as BIOPIC has IC in that same for CLASSICAL also

但是我不要这两个。

#df[df['genre'].str.contains('|IC|')]  #### row 6
# This also not satisfying my need as i am missing rows 1 and 5

因此,我的要求是找到具有| IC |的类型 (我的字符串搜索失败,因为python将'|'视为or运算符)

有人建议使用某种reg或任何方法来实现这一点。感谢ADv。

耶斯列尔

我认为您可以添加\到正则表达式中进行转义,因为|没有\被解释为OR

'|'

A | B,其中A和B可以是任意RE,它创建一个匹配A或B的正则表达式。任意数量的RE都可以用'|'分隔。这样。也可以在组内使用(请参阅下文)。扫描目标字符串时,RE用“ |”分隔 从左到右尝试。当一个模式完全匹配时,该分支被接受。这意味着,一旦A匹配,即使将产生更长的整体匹配,也不会对其进行进一步测试。换句话说,“ |” 操作员从不贪婪。要匹配文字“ |”,请使用\ |,或将其括在字符类中,如[|]所示。

print df['genre'].str.contains(u'\|IC\|')
0     True
1    False
2    False
3    False
4     True
5     True
Name: genre, dtype: bool

print df[df['genre'].str.contains(u'\|IC\|')]
    name                        genre
0  satya            |ACTION|DRAMA|IC|
4    def  |DISCOVERY|SPORT|COMEDY|IC|
5    ghj                         |IC|

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从列表中搜索数据框列中的部分字符串匹配-Pandas-Python

来自分类Dev

从列表中搜索数据框列中的部分字符串匹配-Pandas-Python

来自分类Dev

Python Pandas Regex:在列中搜索带有通配符的字符串并返回匹配项

来自分类Dev

Python Pandas:如何在列中搜索字符串?

来自分类Dev

在python中的字符串中搜索模式

来自分类Dev

Python - 在字符串中搜索匹配项

来自分类Dev

用匹配的模式替换python中的字符串

来自分类Dev

用匹配的模式替换python中的字符串

来自分类Dev

如何在python中匹配字符串模式

来自分类Dev

将字符串替换为 Python 中的匹配模式

来自分类Dev

字符串中的Python字符匹配

来自分类Dev

python返回字符串的匹配和不匹配模式

来自分类Dev

python返回字符串的匹配和不匹配模式

来自分类Dev

如果特定字符在与Python中的模式匹配的字符串中,请替换

来自分类Dev

在python中搜索字符串的策略?

来自分类Dev

Python在字符串中寻找模式

来自分类Dev

Python:在字符串中查找模式

来自分类Dev

从python中的多行字符串中删除模式匹配的行

来自分类Dev

从基于python中的查找模式的字符串中获取所有匹配项

来自分类Dev

从python中的多行字符串中删除模式匹配的行

来自分类Dev

在 Python 中的文本文件中打印字符串“Image”以及匹配的模式

来自分类Dev

使用正则表达式在 python 中搜索和替换字符串模式

来自分类Dev

Python中的模糊字符串匹配

来自分类Dev

匹配元组中的字符串-python

来自分类Dev

匹配元组中的字符串-python

来自分类Dev

在Python中搜索字符串并获取匹配之前和之后的2个单词

来自分类Dev

Python正则表达式不匹配字符串中的所有模式

来自分类Dev

如何在Python中的模式匹配后提取第n行字符串?

来自分类Dev

在Python MULTILINE模式下仅匹配字符串的开头

Related 相关文章

  1. 1

    从列表中搜索数据框列中的部分字符串匹配-Pandas-Python

  2. 2

    从列表中搜索数据框列中的部分字符串匹配-Pandas-Python

  3. 3

    Python Pandas Regex:在列中搜索带有通配符的字符串并返回匹配项

  4. 4

    Python Pandas:如何在列中搜索字符串?

  5. 5

    在python中的字符串中搜索模式

  6. 6

    Python - 在字符串中搜索匹配项

  7. 7

    用匹配的模式替换python中的字符串

  8. 8

    用匹配的模式替换python中的字符串

  9. 9

    如何在python中匹配字符串模式

  10. 10

    将字符串替换为 Python 中的匹配模式

  11. 11

    字符串中的Python字符匹配

  12. 12

    python返回字符串的匹配和不匹配模式

  13. 13

    python返回字符串的匹配和不匹配模式

  14. 14

    如果特定字符在与Python中的模式匹配的字符串中,请替换

  15. 15

    在python中搜索字符串的策略?

  16. 16

    Python在字符串中寻找模式

  17. 17

    Python:在字符串中查找模式

  18. 18

    从python中的多行字符串中删除模式匹配的行

  19. 19

    从基于python中的查找模式的字符串中获取所有匹配项

  20. 20

    从python中的多行字符串中删除模式匹配的行

  21. 21

    在 Python 中的文本文件中打印字符串“Image”以及匹配的模式

  22. 22

    使用正则表达式在 python 中搜索和替换字符串模式

  23. 23

    Python中的模糊字符串匹配

  24. 24

    匹配元组中的字符串-python

  25. 25

    匹配元组中的字符串-python

  26. 26

    在Python中搜索字符串并获取匹配之前和之后的2个单词

  27. 27

    Python正则表达式不匹配字符串中的所有模式

  28. 28

    如何在Python中的模式匹配后提取第n行字符串?

  29. 29

    在Python MULTILINE模式下仅匹配字符串的开头

热门标签

归档