具有多个条件的 Numpy“where”:解决三个条件
问题描述:
当面对两个以上的条件时,基于多个条件向数据帧添加新列变得具有挑战性。给定场景要求根据“conspiration_energy”列的值创建具有“高”、“中”或“低”值的“energy_class”列。
解决方案:
虽然 numpy.where 只能处理两个条件,但使用 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 值分配给不满足任何条件的行。您可以自定义它以满足您的需求。
以上是如何使用具有两个以上条件的 Numpy'where” 将列添加到 DataFrame?的详细内容。更多信息请关注PHP中文网其他相关文章!