gpt4 book ai didi

python - 根据其他列表的值替换列表中的值?

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

我有两个相同长度的列表。一个代表实际值,另一个代表某种质量值。根据质量阈值 (4),我想用其他值替换这些值(p.e. 17)。我的方法是使用 enumerate 迭代质量以获取索引并替换值中的特定索引。

有更好的方法吗?

import numpy as np

values = np.array([4, 4, 4, 4, 4, 4, 4, 4, 4, 4])
quality = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

threshold = 4
value = 17

for i, qual in enumerate(quality):
if qual < threshold:
values[i] = value

# [17 17 17 17 4 4 4 4 4 4]
print(values)

最佳答案

您可以使用掩码数组和 boolean indexing :

values[quality < threshold] = value

应该在没有迭代的情况下完成这个技巧:

import numpy as np

values = np.array([4, 4, 4, 4, 4, 4, 4, 4, 4, 4])
quality = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

threshold = 4
value = 17

values[quality < threshold] = value

print(values) # array([17, 17, 17, 17, 4, 4, 4, 4, 4, 4])

关于python - 根据其他列表的值替换列表中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41329998/

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