【发布时间】:2016-08-12 22:44:36
【问题描述】:
我有一个如下所示的数据框
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 行。我想找到 |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。
【问题讨论】:
标签: python regex string pandas