首页  >  文章  >  后端开发  >  如何使用NumPy“where”与多个条件进行条件运算?

如何使用NumPy“where”与多个条件进行条件运算?

Linda Hamilton
Linda Hamilton原创
2024-10-19 12:59:02469浏览

How to Use NumPy

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

在处理数据操作任务时,通常需要应用不同的条件来选择或修改具体值。 NumPy 的“where”函数是条件操作的强大工具,但默认情况下,它只处理两个条件。

考虑这样的情况,您想要将新列“energy_class”添加到名为的 pandas DataFrame “df_能量。”应根据以下条件分配能量等级:

  • “conspiration_energy”值大于 400:“高”
  • “conspiration_energy”值在 200 到 400 之间:“中”
  • “conspiration_energy”值小于或等于200:“low”

由于NumPy的“where”函数不支持多种条件,解决方案在于使用其更强大的兄弟,“选择。”以下是解决此问题的方法:

import numpy as np

# Assuming df_energy has a column called "consumption_energy"
col = 'consumption_energy'
conditions = [ df_energy[col] >= 400,
             (df_energy[col] < 400) & (df_energy[col] > 200),
             df_energy[col] <= 200 ]
choices = [ "high", 'medium', 'low' ]

# Create the "energy_class" column using np.select
df_energy["energy_class"] = np.select(conditions, choices, default=np.nan)

“select”的这种扩展用法允许您定义多个条件并将相应的选择映射到输出。默认情况下,如果不满足任何条件,它会分配“np.nan”。

因此,您的 DataFrame 现在将根据您指定的条件使用适当的标签填充“energy_class”列,提供能源消耗水平的明确分类。

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

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