Python Pandas: Holen Sie sich den Index der Zeilen, in denen die Spalte einen bestimmten Wert entspricht.
Du kannst die Methode .loc
verwenden, um das DataFrame zu filtern und eine boolesche Maske zu erhalten, und dann die Eigenschaft .index
verwenden, um den Index der Zeilen zu erhalten, die einen bestimmten Wert entsprechen. Hier ist ein Beispiel:
import pandas as pd
# Erstelle ein Beispieldatensatz
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
'B': [2, 3, 4, 5, 6],
'C': [3, 4, 5, 6, 7]},
index=[100, 101, 102, 103, 104])
# Suche die Zeilen, in denen die Spalte 'B' den Wert 3 hat
match = df.loc[df['B'] == 3].index
print(match)
Das wird den Index der Zeilen ausgeben, in denen die Spalte 'B' den Wert 3 hat:
Int64Index([101], dtype='int64')
Du kannst den gleichen Ansatz verwenden, um auf mehrere Spalten und mehrere Bedingungen zu filtern. Beispiel:
df.loc[(df['A']==1) & (df['B']==2)].index
Es wird die Zeilen-Index zurückgeben die A = 1 und B = 2 hat