複数の条件を持つ Numpy "where": 3 つの条件に対処する
問題の説明:
3 つ以上の条件に直面すると、複数の条件に基づいてデータフレームに新しい列を追加することが困難になります。指定されたシナリオでは、「consumption_energy」列の値に基づいて、「high」、「medium」、または「low」の値を持つ「energy_class」列を作成する必要があります。
解決策:
numpy.where は 2 つの条件しか処理できませんが、numpy.select を使用する賢い回避策により問題が解決されます。
Python コード:
<code class="python"># Define column and conditions col = 'consumption_energy' conditions = [df2[col] >= 400, (df2[col] < 400) & (df2[col] > 200), df2[col] <= 200] # Define choices for conditions choices = ["high", 'medium', 'low'] # Add "energy_class" column with np.select df2["energy_class"] = np.select(conditions, choices, default=np.nan)</code>
出力例:
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
追加メモ:
default=np.nan は、条件を満たさない行に NaN 値を割り当てます。 。ニーズに合わせてカスタマイズできます。
以上が3 つ以上の条件を指定して Numpy「where」を使用して DataFrame に列を追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。