在多个条件下使用 NumPy“where”
在处理数据操作任务时,通常需要应用不同的条件来选择或修改具体值。 NumPy 的“where”函数是条件操作的强大工具,但默认情况下,它只处理两个条件。
考虑这样的情况,您想要将新列“energy_class”添加到名为的 pandas DataFrame “df_能量。”应根据以下条件分配能量等级:
由于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中文网其他相关文章!