在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']]
以及其他一些方法,但这些方法会产生错误。有什么想法吗?
答案 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