如何通过“in”/“in”过滤Panda的DataFrame行?

问题:

我有一个Python大熊猫DataFrame rpt

rpt
<class 'pandas.core.frame.DataFrame'>
MultiIndex: 47518 entries, ('000002', '20120331') to ('603366', '20091231')
Data columns:
STK_ID                    47518  non-null values
STK_Name                  47518  non-null values
RPT_Date                  47518  non-null values
sales                     47518  non-null values

我可以过滤那些库存号为'600809'的行,如下所示:rpt[rpt['STK_ID'] == '600809']

<class 'pandas.core.frame.DataFrame'>
MultiIndex: 25 entries, ('600809', '20120331') to ('600809', '20060331')
Data columns:
STK_ID                    25  non-null values
STK_Name                  25  non-null values
RPT_Date                  25  non-null values
sales                     25  non-null values

我想把所有的一些股票的行列在一起,比如['600809','600141','600329']。这意味着我想要一个这样的语法:

stk_list = ['600809','600141','600329']

rst = rpt[rpt['STK_ID'] in stk_list] # this does not works in pandas 

由于熊猫不接受以上命令,怎么实现目标?

回答:

使用isin方法。 rpt[rpt['STK_ID'].isin(stk_list)]

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: How to filter the DataFrame rows of pandas by “within”/“in”?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

+ 4 = 14