如何将第一个元素与 numpy 中的其他元素进行比较?
How to compare the first element with others in numpy?
我正在尝试获取一个数组,其中显示每个元素是否等于每一行中的第一个元素:
a = np.array([[1,2,1],[3,3,3],[2,0,1]])
b = a[:,0] == a[:]
print(b)
第一行应检查 1 == 1、1 == 2、1 == 1。
第二行应检查 3 == 3、3 == 3、3 == 3。
第 3 行应检查 2 == 2、2 == 0、2 == 1。
但是输出错误:
array([[ True, False, False],
[False, True, False],
[False, False, False]])
应该是:
array([[ True, False, True],
[ True, True, True],
[ True, False, False]])
现在我做错了什么以及如何获得正确的结果?
要广播,您需要重塑以添加额外的维度:
a[:,0,None] == a
输出:
array([[ True, False, True],
[ True, True, True],
[ True, False, False]])
我正在尝试获取一个数组,其中显示每个元素是否等于每一行中的第一个元素:
a = np.array([[1,2,1],[3,3,3],[2,0,1]])
b = a[:,0] == a[:]
print(b)
第一行应检查 1 == 1、1 == 2、1 == 1。
第二行应检查 3 == 3、3 == 3、3 == 3。
第 3 行应检查 2 == 2、2 == 0、2 == 1。
但是输出错误:
array([[ True, False, False],
[False, True, False],
[False, False, False]])
应该是:
array([[ True, False, True],
[ True, True, True],
[ True, False, False]])
现在我做错了什么以及如何获得正确的结果?
要广播,您需要重塑以添加额外的维度:
a[:,0,None] == a
输出:
array([[ True, False, True],
[ True, True, True],
[ True, False, False]])