【问题标题】:Filtering DataFrame by list of substrings按子字符串列表过滤 DataFrame
【发布时间】:2016-11-18 00:55:43
【问题描述】:

在这个answer 的基础上,有没有办法通过子字符串列表过滤 Pandas 数据框?

假设我想查找 df['menu_item'] 包含 freshspaghetti 的所有行

没有这样的东西:

df[df['menu_item'].str.contains('fresh') | (df['menu_item'].str.contains('spaghetti')]

【问题讨论】:

  • 您会考虑使用带有地图的自定义函数吗?

标签: pandas


【解决方案1】:

您使用的str.contains 方法接受正则表达式,因此请使用正则表达式| 作为或:

df[df['menu_item'].str.contains('fresh|spaghetti')]

示例输入:

          menu_item
0        fresh fish
1      fresher fish
2           lasagna
3     spaghetti o's
4  something edible

示例输出:

       menu_item
0     fresh fish
1   fresher fish
3  spaghetti o's

【讨论】:

  • 优胜者意大利面晚餐
  • 很酷的解决方案 :-)
猜你喜欢
  • 2012-07-06
  • 2020-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多