gpt4 book ai didi

python - 根据条件分配numpy数组

转载 作者:太空宇宙 更新时间:2023-11-03 15:03:37 25 4
gpt4 key购买 nike

编写此 numpy python 代码的更好方法是什么?

age[age < 20.0] = 0.0
age[age > 0.0] = 1.0
mature = age

在这里,mature 包含 1.0,对于年龄 > 20.0 的所有值,否则为 0.0

最佳答案

mature = age = (age > 20.0).astype(float)

age > 20.0 是一个 bool 数组。 astype(float) 将数组转换为 float dtype,这会将 True 更改为 1.0,将 False 更改为 0.0。请注意,这也会将 NaN 转换为 0。


要保留 NaN,就像您的原始代码一样,您可以使用 np.clip:

mature = age = np.clip(age-20, 0, 1)

例如,

In [90]: age = np.array([np.nan, 30, 20, 10])

In [91]: (age > 20.0).astype(float)
Out[91]: array([ 0., 1., 0., 0.])

In [92]: np.clip(age-20, 0, 1)
Out[92]: array([ nan, 1., 0., 0.])

关于python - 根据条件分配numpy数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35281193/

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