假设我们有这个数组,我想用50号替换最小值
import numpy as np
numbers = np.arange(20)
numbers[numbers.min()] = 50
Run Code Online (Sandbox Code Playgroud)
所以输出是 [50,1,2,3,....20]
但是现在我遇到了这个问题:
numbers = np.arange(20).reshape(5,4)
numbers[numbers.min(axis=1)]=50
Run Code Online (Sandbox Code Playgroud)
要得到 [[50,1,2,3],[50,5,6,7],....]
但是我收到此错误:
IndexError:索引8超出轴0的范围,大小为5 ....
有任何帮助的想法吗?
我有以下带有成绩的数组示例:
grades = np.array([[ 1, 1, 2, -3],[ 4, 5, 6, 7],[ 8, 9, -3, 11],[12, 13, 14, 15]])
Run Code Online (Sandbox Code Playgroud)
我想用"-3"标识元素并将它们的整行更改为该数字,例如结果:
grades = np.array([[ -3, -3, -3, -3],[ 4, 5, 6, 7],[ -3, -3, -3, -3],[12, 13, 14, 15]])
Run Code Online (Sandbox Code Playgroud)
到目前为止我试过:
grades[np.argwhere(grades==-3)]=-3
Run Code Online (Sandbox Code Playgroud)
但我得到以下结果,其他行也受到影响:
array([[-3, -3, -3, -3],[ 4, 5, 6, 7],[-3, -3, -3, -3],[-3, -3, -3, -3],[16, 17, 18, 19]])
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?谢谢!