基于多个条目过滤行

时间:2016-01-04 11:38:35

标签: python-2.7 pandas

在Python2-7中使用pandas我有以下数据帧(dfmain):

    Col1    Letter
0   One     A
1   Two     B
2   Three   C
3   Four    A
4   Five    D
5   Six     B
6   Seven   C

我想用“C' C'过滤掉所有行?或者' D'作为一封信或者仅作为行' A'和' B'。以下代码仅适用于一个字母:

dftemp = dfmain[dfmain['Letter'] == 'A']

或者:

dftemp = dfmain[dfmain['Letter'] != 'D']

但是,如何为多个字母执行此操作,例如我试过了:

dftemp = dfmain[dfmain['Letter'] == 'A', 'B']

或:

dftemp = dfmain[dfmain['Letter'] == ['A','B']]

以及其他一些方法,但这些方法会产生错误。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

使用isin测试多个值的成员资格:

In [10]:
dftemp = df[df['Letter'].isin(['A', 'B'])]
dftemp

Out[10]:
   Col1 Letter
0   One      A
1   Two      B
3  Four      A
5   Six      B