Filtr pandy według indeksu

Filtr pandy według indeksu

Za pomocą „Filter ()” możemy filtrować ramkę danych na podstawie indeksów. Dzięki tej technice wiersze lub kolumny DataFrame będą podzbiorem oryginalnej ramki danych zgodnie z określonymi etykietami w danym indeksie.

Istnieją różne metody filtrowania rzędów ramki danych na podstawie ich indeksu. Ale w tym samouczku naszym głównym celem jest funkcja Filter (). Najpierw sprawdźmy jego składnię, abyśmy mogli go użyć do filtrowania danych. Metoda zwraca obiekt tego samego typu co ten, który jest używany jako wejście.

Składnia:

DataFrame_Object.filtr (elementy = brak, jak = brak, Regex = Brak, oś = brak)

Parametry:

    1. rzeczy: Wymaga listy etykiet osi, które chcesz filtrować.
    2. tak jak: Zachowaj oś informacyjną, gdzie „arg in col == true”. Zabrana jest etykieta łańcucha osi, którą chcemy filtrować.
    3. Regex: Zachowaj oś informacyjną, gdzie ponownie.Wyszukaj (Regex, col) == True.
    4. oś: Oś, na której można filtrować „indeks” lub 0, „kolumny” lub 1, brak. Domyślnie jest to oś informacyjna. W przypadku serii jest to „indeks”. W przypadku DataFrame jest to „kolumny”.

Ponieważ widzieliśmy składnię, pokazujemy funkcję Filter () w następujących przykładach:

Przykład 1: Filtr według indeksu numerycznego

Utwórz ramkę daty z 2 kolumnami zawierającymi 5 rekordów i zwróć tylko konkretne wiersze na podstawie indeksu.

importować pandy
Hobby = pandy.DataFrame ('stad_name': ['stadn 1', 'stadn 2', 'stadn 3', 'stadn 4', 'stadnor 5'],
„Hobby”: [„Music”, „Singing”, „Dance”, „Play”, „Drink”])
Drukuj (hobby)
wydrukować()
# Zdobądź tylko pierwszy rząd
Drukuj (hobby.Filtr ([0], oś = 0))
wydrukować()
# Zdobądź tylko piąty rząd
Drukuj (hobby.Filtr ([4], oś = 0))


Wyjście:

Hobby o nazwie Stud_name
0 stadnina 1 muzyka
1 śpiew 2 stadnina
2 stadnin 3 taniec
3 stadnina 4 Play
4 stadnina 5 napój
Hobby o nazwie Stud_name
0 stadnina 1 muzyka
Hobby o nazwie Stud_name
4 stadnina 5 napój


Wyjaśnienie:

    1. Na pierwszym wyjściu zwróciliśmy pierwszy wiersz za pomocą indeksu-0.
    2. W drugim wyjściu zwróciliśmy piąty rząd za pomocą indeksu-4.

Przykład 2: Filtr przez wiele indeksów numerycznych

Utwórz dateframe z 2 kolumnami zawierającymi 5 rekordów i zwróć tylko konkretne wiersze na podstawie indeksu.

importować pandy
Hobby = pandy.DataFrame ('stad_name': ['stadn 1', 'stadn 2', 'stadn 3', 'stadn 4', 'stadnor 5'],
„Hobby”: [„Music”, „Singing”, „Dance”, „Play”, „Drink”])
# Zdobądź pierwsze dwa rzędy
Drukuj (hobby.filtr (elementy = [0,1], oś = 0))
wydrukować()
# Uzyskaj tylko drugie, trzecie i piąte rzędy
Drukuj (hobby.filtr (elementy = [1,2,4], oś = 0))


Wyjście:

Hobby o nazwie Stud_name
0 stadnina 1 muzyka
1 śpiew 2 stadnina
Hobby o nazwie Stud_name
1 śpiew 2 stadnina
2 stadnin 3 taniec
4 stadnina 5 napój


Wyjaśnienie:

    1. Na pierwszym wyjściu zwróciliśmy pierwsze i drugie wiersze jednocześnie za pomocą indeksu-0 i 1.
    2. W drugim wyjściu zwróciliśmy drugie, trzecie i piąte rzędy za pomocą indeksu 1, 2 i 4.

Przykład 3: Filtr według indeksu nie-numerycznego

Utwórz ramkę daty z 3 kolumnami zawierającymi 4 rekordy i zwróć tylko konkretne wiersze osobno na podstawie indeksu. Tutaj indeks jest „”.String ”Typ.

importować pandy
Podróż = pandy.DataFrame ('from': [„City 1”, „City 1”, „City 3”, „City 4”],
„to”: [„ap”, „USA”, „miasto 2”, „miasto 1”],
„Odległość”: [200,500,466 100],
indeks = [„pasażer 1”, „pasażer 2”, „pasażer 3”, „pasażer 4”])
Drukuj (podróż)
wydrukować()
# Zdobądź wiersz, w którym indeks-'passenger 3 '.
Drukuj (podróż.filtr (elementy = ['pasażer 3'], oś = 0))
wydrukować()
# Zdobądź wiersz, w którym indeks-'passenger 1 '.
Drukuj (podróż.filtr (elementy = ['pasażer 1'], oś = 0))


Wyjście:

Od dystansu
Pasażer 1 miasto 1 AP 200
Pasażer 2 miasto 1 USA 500
pasażer 3 miasto 3 miasto 2 466
Pasażer 4 miasto 4 miasto 1 100
Od dystansu
pasażer 3 miasto 3 miasto 2 466
Od dystansu
Pasażer 1 miasto 1 AP 200


Wyjaśnienie:

    1. Na pierwszym wyjściu zwróciliśmy trzeci rząd za pomocą indeksu-„pasażer 3”.
    2. W drugim wyjściu zwróciliśmy pierwszy wiersz za pomocą indeksu-„pasażer 1”.

Przykład 4: Filtr przez wiele wskaźników niewidomych

Zwróć ostatnie trzy wiersze na raz na podstawie indeksu.

importować pandy
Podróż = pandy.DataFrame ('from': [„City 1”, „City 1”, „City 3”, „City 4”],
„to”: [„ap”, „USA”, „miasto 2”, „miasto 1”],
„Odległość”: [200,500,466 100],
indeks = [„pasażer 1”, „pasażer 2”, „pasażer 3”, „pasażer 4”])
# Zdobądź wiersz, w którym indeks- „pasażer 2”, „pasażer 3”, „pasażer 4”
Drukuj (podróż.filtr (elementy = ['pasażer 2', „pasażer 3 ',„ pasażer 4'], axis = 0))


Wyjście:

Od dystansu
Pasażer 2 miasto 1 USA 500
pasażer 3 miasto 3 miasto 2 466
Pasażer 4 miasto 4 miasto 1 100

Przykład 5: Filtr za pomocą parametru podobnego

Użyjmy parametru „Like”, aby zwrócić wiersze na podstawie indeksu, takiego jak „pasażer” i „r 1”,.

importować pandy
Podróż = pandy.DataFrame ('from': [„City 1”, „City 1”, „City 3”, „City 4”],
„to”: [„ap”, „USA”, „miasto 2”, „miasto 1”],
„Odległość”: [200,500,466 100],
indeks = [„pasażer 1”, „pasażer 2”, „pasażer 3”, „pasażer 4”])
# Zdobądź wiersz, w którym indeks jest jak „pasażer”.
Drukuj (podróż.Filtr (jak = „pasażer”, oś = 0))
wydrukować()
# Zdobądź wiersz, w którym indeks jest jak „r 1”.
Drukuj (podróż.filtr (jak = 'r 1', oś = 0))


Wyjście:

Od dystansu
Pasażer 1 miasto 1 AP 200
Pasażer 2 miasto 1 USA 500
pasażer 3 miasto 3 miasto 2 466
Pasażer 4 miasto 4 miasto 1 100
Od dystansu
Pasażer 1 miasto 1 AP 200


Wyjaśnienie:

    1. Wszystkie wskaźniki zawierają „pasażer”. Tak więc wszystkie wiersze zostały zwrócone na pierwszym wyjściu.
    2. Tylko jeden indeks jest jak „R 1”. Tak więc wiersz z indeksem - „pasażer 1” jest zwracany w drugim wyjściu.

Przykład 6:

Rozważmy ramkę danych z indeksami - [„Sravan”, „Ravan”, „Pavan”, „Ravi”], a następnie zwróć wiersze z indeksami takimi jak „N” i „M” osobno.

importować pandy
Podróż = pandy.DataFrame ('from': [„City 1”, „City 1”, „City 3”, „City 4”],
„to”: [„ap”, „USA”, „miasto 2”, „miasto 1”],
„Odległość”: [200,500,466 100],
index = [„sravan”, „ravan”, „Pavan”, „ravi”])
# Zdobądź wiersz, w którym indeks jest jak „n”.
Drukuj (podróż.filtr (jak = 'n', oś = 0))
wydrukować()
# Zdobądź wiersz, w którym indeks jest jak „M”.
Drukuj (podróż.filtr (jak = 'm', oś = 0))


Wyjście:

Od dystansu
Sravan City 1 AP 200
Ravan City 1 USA 500
Pavan City 3 City 2 466
Pusta ramka danych
Kolumny: [od, do, odległość]
Indeks: []


Wyjaśnienie:

    1. Istnieją trzy rzędy, w których indeks obejmuje „N”.
    2. Nie ma wiersza, w którym indeksy obejmują „M”. Zatem pusta strumienia danych jest zwracana.

Wniosek

Nauczyliśmy cię, jak pobierać rzędy danych na podstawie ich indeksów w pandach. Widzieliśmy najpierw składnię funkcji Filter (), aby zrozumieć jej parametry i działanie funkcji filtra. Wdrożyliśmy różne przykłady, aby nauczyć Cię, jak filtrować ramkę danych za pomocą indeksów wartości numerycznych i wartości niewidocznych. Wdrożyliśmy również kilka przykładów, aby wyjaśnić, w jaki sposób możesz filtrować ramkę danych dla indeksów zawierających określony znak lub ciąg, przekazując parametr podobny do funkcji Filter ().