按子串列表过滤DataFrame

时间:2016-11-16 20:36:05

标签: pandas

建立这个answer,有没有办法按子串列表过滤Pandas数据帧?

说我想找到df [' menu_item']包含freshspaghetti

的所有行

没有这样的东西:

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

1 个答案:

答案 0 :(得分:3)

您使用的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