Python pandas 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
次のように在庫 ID を持つ行をフィルタリングできます'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
pandas は上記のコマンドを受け入れないので、どうすれば目標を達成できるでしょうか?
ベストアンサー1
次の方法を使用しますisin
。
rpt[rpt['STK_ID'].isin(stk_list)]