Pandy: pobierz indeks wierszy, których kolumna odpowiada wartości


Możesz użyć następującej składni, aby uzyskać indeks wierszy w ramce danych pandy, której kolumna pasuje do określonych wartości:

 df. index [df[' column_name ']== value ]. tolist ()

Poniższe przykłady pokazują, jak w praktyce używać tej składni z następującą ramką DataFrame pand:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'C', 'C', 'D'],
                   ' points ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
df

team points rebounds
0 to 5 11
1 to 7 8
2 to 7 10
3 B 9 6
4 B 12 6
5 C 9 5
6 C 9 9
7 D 4 12

Przykład 1: Pobierz indeks wierszy, których kolumna odpowiada wartości

Poniższy kod pokazuje, jak uzyskać indeks wierszy z kolumną równą określonej wartości:

 #get index of rows where 'points' column is equal to 7
df. index [df[' points ']== 7 ]. tolist ()

[1, 2]

Mówi nam to, że wiersze z wartościami indeksu 1 i 2 mają w kolumnie punktów wartość „7”.

Zauważ, że możemy również użyć operatorów mniejszy i większy niż, aby znaleźć indeks wierszy, w których kolumna jest mniejsza lub większa od określonej wartości:

 #get index of rows where 'points' column is greater than 7
df. index [df[' points '] > 7 ]. tolist ()

[3, 4, 5, 6]

Mówi nam to, że wiersze o wartościach indeksów 3 , 4 , 5 i 6 mają w kolumnie punktów wartość większą niż „7”.

Przykład 2: Pobierz indeks wierszy, których kolumna pasuje do ciągu

Poniższy kod pokazuje, jak uzyskać indeks wierszy, w których kolumna jest równa określonemu ciągowi znaków:

 #get index of rows where 'team' column is equal to 'B'
df. index [df[' team ']==' B ']. tolist ()

[3, 4]

Mówi nam to, że wiersze z wartościami indeksu 3 i 4 mają w kolumnie zespół wartość „B”.

Przykład 3: Uzyskaj indeks wiersza z wieloma warunkami

Poniższy kod pokazuje, jak uzyskać indeks wierszy, w których wartości wielu kolumn spełniają określone warunki:

 #get index of rows where 'points' is equal to 7 or 12
df. index [(df[' points ']== 7 ) | (df[' points ']== 12 )]. tolist ()

[1, 2, 4]

#get index of rows where 'points' is equal to 9 and 'team' is equal to 'B'
df. index [(df[' points ']== 9 ) & (df[' team ']==' B ')]. tolist ()

[3]

Dodatkowe zasoby

Jak uzyskać wartość komórki z Pandas DataFrame
Jak zmienić nazwę indeksu w Pandas DataFrame
Jak sortować kolumny według nazwy w Pandach

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *