リスト内の値に基づいてデータフレーム行をフィルタリングする
Python データフレームのコンテキストでは、特定の値に基づいて行をフィルタリングするには、次のコマンドを使用します。パンダの図書館。この質問は、特定の列の値が指定されたリストの要素のいずれかに一致する行をフィルターするという要件に対処します。
これを実現するには、で試みられたメソッドとは対照的に、 isin() メソッドを使用する必要があります。 pandas によって認識されない演算子です。 rpt['STK_ID'].isin(stk_list) 式は、STK_ID 列の値が stk_list 変数に存在するかどうかをチェックし、この条件を満たす行を効果的に選択します。
たとえば、データフレーム 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
STK_ID 値が「600809」のいずれかである行をフィルターするには、 '600141' または '600329':
stk_list = ['600809', '600141', '600329'] rst = rpt[rpt['STK_ID'].isin(stk_list)]
最初のデータフレームには、stk_list の指定された株式 ID に対応する行のみが含まれるようになります。
以上が値のリストに基づいて Pandas DataFrame 行をフィルターするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。