闪耀的粒子 2021-06-18 11:58 采纳率: 25%
浏览 816
已采纳

如何获取dataframe或array中 值为1的元素的坐标

例如我有一个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做也行

  • 写回答

1条回答 默认 最新

  • Briwisdom 2021-06-18 12:25
    关注

    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')
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?