Skip to main content
 首页 » 编程设计

python之从 Pandas 索引中查找整数行索引

2025年05月04日25mayingbao

以下代码查找 df['A'] == 1 的索引

import pandas as pd 
import numpy as np 
import random 
 
index = range(10) 
random.shuffle(index) 
df = pd.DataFrame(np.zeros((10,1)).astype(int), columns = ['A'], index = index) 
 
df.A.iloc[3:6] = 1 
df.A.iloc[6:] = 2 
 
print df 
 
print df.loc[df['A'] == 1].index.tolist() 

它正确返回 pandas 索引。如何使用 pandas API 获取整数索引 ([3,4,5])?

   A 
8  0 
4  0 
6  0 
3  1 
7  1 
1  1 
5  2 
0  2 
2  2 
9  2 
[3, 7, 1] 

请您参考如下方法:

怎么样?

In [12]: df.index[df.A == 1] 
Out[12]: Int64Index([3, 7, 1], dtype='int64') 

或(取决于您的目标):

In [15]: df.reset_index().index[df.A == 1] 
Out[15]: Int64Index([3, 4, 5], dtype='int64') 

演示:

In [11]: df 
Out[11]: 
   A 
8  0 
4  0 
6  0 
3  1 
7  1 
1  1 
5  2 
0  2 
2  2 
9  2 
 
In [12]: df.index[df.A == 1] 
Out[12]: Int64Index([3, 7, 1], dtype='int64') 
 
In [15]: df.reset_index().index[df.A == 1] 
Out[15]: Int64Index([3, 4, 5], dtype='int64')