首页  >  文章  >  后端开发  >  如何使用具有两个以上条件的 Numpy“where” 将列添加到 DataFrame?

如何使用具有两个以上条件的 Numpy“where” 将列添加到 DataFrame?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-19 13:02:02392浏览

How to Add a Column to a DataFrame Using Numpy

具有多个条件的 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中文网其他相关文章!

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