リスト内の列の値による DataFrame のフィルタリング
pandas DataFrame を使用する場合、以下に基づいて行をフィルタリングできることが重要です。具体的な基準。一般的なシナリオの 1 つは、提供されたリストに列値が存在する行を選択することです。
たとえば、列 STK_ID、STK_Name、RPT_Date、および sales を含む DataFrame rpt を考えてみましょう。 == 演算子を使用して、特定の株式 ID の行を簡単にフィルタリングできます:
rpt[rpt['STK_ID'] == '600809']
ただし、STK_ID 列に ['600809 などのリストの値が含まれる行をフィルタリングしたい場合はどうすればよいですか? ','600141','600329']?リストで == 演算子を使用することは、パンダでは機能しません。
これを実現するには、isin メソッドを使用できます。
stk_list = ['600809','600141','600329'] rpt[rpt['STK_ID'].isin(stk_list)]
isin メソッドは、列の値が存在するかどうかを確認します。提供されたリスト内の値を取得し、ブール型マスクを返します。結果として得られる DataFrame には、STK_ID 値がリスト内の値の少なくとも 1 つと一致する行のみが含まれます。
このメソッドは、大きな DataFrame を扱う場合、またはフィルタリングする値のリストが動的である場合に特に便利です。または頻繁に変更されます。
以上が列値のリストに基づいて Pandas DataFrame 行をフィルタリングする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。