熊猫从列中的值中查找索引

Dor*_*rky 6 python pandas

在大数据集上使用 Python Pandas 时,如何根据列中的值在同一行中找到索引?

例如,如果我有这个数据集......

           Column
Item 1     0
Item 2     20
Item 3     34
...
Item 1000  12
Run Code Online (Sandbox Code Playgroud)

...如果我在列中的 1000 行(不包括第 0 行)之一中有这个值 17,并且我想找出哪个 Item 在同一行的列中具有这个值 17,怎么能我这样做?

例如,我想找出这个 Item x 在数据集中索引的内容和位置,如下所示......

           Column
Item x     17
Run Code Online (Sandbox Code Playgroud)

...我如何用 Pandas 做到这一点,使用这个值 17 作为参考?

jez*_*ael 6

使用boolean indexing

df.index[df.Column == 17]
Run Code Online (Sandbox Code Playgroud)

如果需要排除第 0 行:

df1 = df.iloc[1:]
df1.index[df1.Column == 17]
Run Code Online (Sandbox Code Playgroud)

样本:

df = pd.DataFrame({'Column': {'Item 1': 0, 'Item 2': 20, 'Item 5': 12, 'Item 3': 34, 'Item 7': 17}})
print (df)
       Column
Item 1       0
Item 2      20
Item 3      34
Item 5      12
Item 7      17
Run Code Online (Sandbox Code Playgroud)
print (df.index[df.Column == 17])
Index(['Item 7'], dtype='object')

print (df.index[df.Column == 17].tolist())
['Item 7']

df1 = df.iloc[1:]
print (df1)
        Column
Item 2      20
Item 3      34
Item 5      12
Item 7      17

print (df1.index[df1.Column == 17].tolist())
['Item 7']
Run Code Online (Sandbox Code Playgroud)