例如我有一个5*5的矩阵
array([[0, 0, 0, 0, 1], [1, 1, 0, 1, 0], [1, 0, 1, 1, 0], [1, 0, 0, 1, 0], [1, 0, 0, 0, 1]])
第一行第五列的元素值就为1,那么把它的坐标记成(1,5),
第二行第一列的元素值也为1,记为(2,1)我想要获取矩阵中所有值为1的元素的坐标要怎么做。或者用pandas做也行
例如我有一个5*5的矩阵
array([[0, 0, 0, 0, 1], [1, 1, 0, 1, 0], [1, 0, 1, 1, 0], [1, 0, 0, 1, 0], [1, 0, 0, 0, 1]])
第一行第五列的元素值就为1,那么把它的坐标记成(1,5),
第二行第一列的元素值也为1,记为(2,1)我想要获取矩阵中所有值为1的元素的坐标要怎么做。或者用pandas做也行
python矩阵坐标一般是0开始的。调用了numpy库,如下示意代码请参考。
import numpy as np
arr=np.array([[0, 0, 0, 0, 1],
[1, 1, 0, 1, 0],
[1, 0, 1, 1, 0],
[1, 0, 0, 1, 0],
[1, 0, 0, 0, 1]])
idx=np.array(np.where(arr==1))
if idx.shape[1]>0:
print('where arr==1, index is: ')
for i in range(idx.shape[1]):
print((idx[0,i],idx[1,i]))
else:
print('no exits index where arr==1')