我有一个 Python 熊猫数据框rpt:
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
我可以过滤股票 id 是'600809'这样的行:rpt[rpt['STK_ID'] == '600809']
'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']. 这意味着我想要这样的语法:
['600809','600141','600329']
stk_list = ['600809','600141','600329'] rst = rpt[rpt['STK_ID'] in stk_list] # this does not works in pandas
既然 pandas 不接受上面的命令,那如何达到目标呢?
使用isin方法:
isin
rpt[rpt['STK_ID'].isin(stk_list)]