Numpy の "where" を使用して複数の条件を適用する
NumPy の "where" 関数を使用すると、配列内の要素を条件付きで選択する強力なツールになります。特定の基準に基づいて。ただし、「where」の標準実装では、対応する出力を伴う 2 つの条件のみが許可されます。これは、複数の条件が関係するシナリオを扱うときに制限になる可能性があります。
この問題に対処するための、より汎用性の高い解決策は、「np.select」関数を使用することです。 「np.select」を使用すると、複数の条件を同時に評価し、対応する出力を割り当てることができます。これを、消費エネルギー値に基づいてデータフレームにエネルギー クラスを割り当てる問題にどのように適用できるかを見てみましょう。
実装:
col = 'consumption_energy' conditions = [ df['consumption_energy'] >= 400, (df['consumption_energy'] < 400) & (df['consumption_energy']> 200), df['consumption_energy'] <= 200 ] choices = [ "high", 'medium', 'low' ] df['energy_class'] = np.select(conditions, choices, default=np.nan)
このコードは 3 つを作成します。 「consumption_energy」列の値に基づく条件:
「np.select」関数はそれぞれを評価します。いずれかの条件が満たされると、「選択」リストから対応する出力が割り当てられます。どの条件も満たされない場合は、デフォルト値として 'nan' が割り当てられます。
出力:
consumption_energy energy_class 0 459 high 1 416 high 2 186 low 3 250 medium 4 411 high 5 210 medium 6 343 medium 7 328 medium 8 208 medium 9 223 medium
「np.select」を利用することで、は、指定された条件に基づいてエネルギー クラスを DataFrame に割り当てることに成功し、配列内の要素を選択するときに複数の条件を処理する汎用性の高い方法を提供します。
以上がNumPy の「np.select」を使用して配列に複数の条件を適用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。