ホームページ > バックエンド開発 > Python チュートリアル > NumPy の「np.select」を使用して配列に複数の条件を適用する方法

NumPy の「np.select」を使用して配列に複数の条件を適用する方法

Susan Sarandon
リリース: 2024-10-19 12:57:02
オリジナル
518 人が閲覧しました

How to Apply Multiple Conditions in Arrays Using NumPy's

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」列の値に基づく条件:

  1. 'consumption_energy' >= 400: この条件に「high」を割り当てます。
  2. 'consumption_energy' < 400 および '消費エネルギー' > 200: この条件に「中」を割り当てます。
  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 に割り当てることに成功し、配列内の要素を選択するときに複数の条件を処理する汎用性の高い方法を提供します。

  4. 以上がNumPy の「np.select」を使用して配列に複数の条件を適用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート