替换 numpy 数组中的元素等待不同元素的值
replace element in numpy array pending a different element's value
我有以下 numpy 数组(作为示例):
my_array = [[3, 7, 0]
[20, 4, 0]
[7, 54, 0]]
仅当第一个索引为奇数时,我才想将每行第 3 列中的 0 替换为值 5。
所以预期的结果是:
my_array = [[3, 7, 5]
[20, 4, 0]
[7, 54, 5]]
我尝试了 numpy.where 和 numpy.place,但无法获得预期的结果。
有没有一种优雅的方法可以用 numpy 函数来做到这一点?
您可以通过索引为:
my_array[my_array[:, 0] % 2 != 0, 2] = 5
# my_array[:, 0] % 2 != 0 --- Boolean shows modifying rows --> [ True False True]
我有以下 numpy 数组(作为示例):
my_array = [[3, 7, 0]
[20, 4, 0]
[7, 54, 0]]
仅当第一个索引为奇数时,我才想将每行第 3 列中的 0 替换为值 5。 所以预期的结果是:
my_array = [[3, 7, 5]
[20, 4, 0]
[7, 54, 5]]
我尝试了 numpy.where 和 numpy.place,但无法获得预期的结果。
有没有一种优雅的方法可以用 numpy 函数来做到这一点?
您可以通过索引为:
my_array[my_array[:, 0] % 2 != 0, 2] = 5
# my_array[:, 0] % 2 != 0 --- Boolean shows modifying rows --> [ True False True]