400,它包含字符串“high”,如果“consumption_en-6ren">
gpt4 book ai didi

python - 具有多个条件的 Numpy "where"

转载 作者:IT老高 更新时间:2023-10-28 21:14:46 29 4
gpt4 key购买 nike

我尝试在数据帧“df_energy”中添加一个新列“energy_class”,如果“consumption_energy”值 > 400,它包含字符串“high”,如果“consumption_energy”值介于 200 和 400 之间,则为“medium” ,如果“consumption_energy”值低于 200,则为“low”。我尝试使用 numpy 中的 np.where,但我看到 numpy.where(condition[, x, y]) 只处理两个条件,而不是像我的情况那样处理 3。

有什么好办法帮帮我吗?

提前谢谢你

最佳答案

试试这个:使用来自@Maxu 的设置

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)


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

关于python - 具有多个条件的 Numpy "where",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39109045/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com