Python pandas:返回所有行的索引,如另一行

时间:2018-03-11 21:56:33

标签: python pandas indexing

假设我们有一个类似下面的玩具示例。

np.random.seed(seed=1)
df = pd.DataFrame(np.random.randint(low=0, 
                                    high=2, 
                                    size=(5, 2)))
df

    0   1
0   1   1
1   0   0
2   1   1
3   1   1
4   1   0

我们希望返回所有行的索引,如某行。假设我想要所有行的索引,例如row 0column 0column 1都有1。

我希望数据结构具有:(0, 2, 3)

2 个答案:

答案 0 :(得分:3)

我认为你可以这样做

df.index[df.eq(df.iloc[0]).all(1)].tolist()

[0, 2, 3]

答案 1 :(得分:1)

一种方法是使用lambda

df.index[df.apply(lambda row: all(row == df.iloc[0]), axis=1)].tolist()

其他方式可能是使用mask:

df.index[df[df == df.iloc[0].values].notnull().all(axis=1)].tolist()

结果:

[0, 2, 3]