首页  >  文章  >  后端开发  >  如何在多个条件下使用 NumPy“where”?

如何在多个条件下使用 NumPy“where”?

Susan Sarandon
Susan Sarandon原创
2024-10-19 12:59:29620浏览

How to Use NumPy

具有多个条件的 Numpy "where"

在数据分析中,经常需要定义自定义条件并分配相应的不同条件基于这些条件的值。 Numpy 的“where”函数可以用来处理此类场景。然而,在处理多种条件时,就会出现挑战。

一个具体案例是尝试将新列“energy_class”添加到数据框“df_energy”。 “energy_class”值根据以下条件分配:

  • 如果“conspiration_energy”值大于 400,则为“high”
  • 如果“conspiration_energy”值大于 400,则为“medium”介于 200 到 400 之间
  • 如果“conspiration_energy”值小于 200,则为“low”

遇到的问题是 np.where 函数通常只支持两个条件。

为了解决这个问题,可以使用 numpy 的“select”函数。下面是一个示例:

<code class="python">col         = 'consumption_energy'
conditions  = [ df2[col] >= 400, (df2[col] < 400) & (df2[col]> 200), df2[col] <= 200 ]
choices     = [ "high", 'medium', 'low' ]
    
df2["energy_class"] = np.select(conditions, choices, default=np.nan)</code>

此代码片段使用“np.select”来评估多个条件并从相应的“选择”列表中分配值。 “default”参数用于处理任何不满足指定条件的情况。

以上是如何在多个条件下使用 NumPy“where”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn