获取python vanilla中使用相同元素的行的索引或使用numpy

时间:2017-06-20 14:49:34

标签: python numpy

我正在尝试查找具有相同项目的行中元素的索引。

到目前为止,这是我的代码:

 from __future__ import print_function
 import numpy as np


 b = np.array([[0, 0, 0],
          [2, 2, 2],
          [2, 2, 2],
          [2, 0, 2],
          [2, 0, 2]])

for rows in b:
    if len(set(rows)) <= 1:
        indices = list(zip(*np.where(rows == 2)))
        print(indices)

现在,它只获得x值。我知道numpy中有一个函数,但由于我正在寻找特定的东西,所以不能在这里应用。

编辑:

似乎我的问题被标记为不清楚,所以我决定发布我的尝试来实现这一点。

import numpy as np

b = np.array([[0, 0, 0],
              [2, 2, 2],
              [2, 2, 2],
              [2, 0, 2],
              [2, 0, 2]])

for rows in b:
    if len(set(rows)) <= 1:
        indices = list(zip(*np.where(rows == 2)))
        rows_to_list = rows.tolist()
        b_to_list = b.tolist()
        if indices != []:
            print(b_to_list.index(rows_to_list))
            print(indices)

如您所见,在获得所需的行后,我试图找到这些行的位置。出于某种原因,我只得到1作为索引,即使b [1]和b [2]用2填充。

1 个答案:

答案 0 :(得分:0)

import pandas as pd

b = pd.DataFrame(b)

print b[b.duplicated()]