Pandy: jak wybierać wiersze między dwiema wartościami


Możesz użyć następującej podstawowej składni, aby wybrać wiersze w ramce danych pandy, w której kolumna znajduje się pomiędzy dwiema określonymi wartościami:

 df_filtered = df[df[' points ']. between ( 25 , 35 )]

W tym konkretnym przykładzie wybierane są wszystkie wiersze, których wartość w kolumnie punktów mieści się w przedziale od 25 do 35.

Jeśli zamiast tego chcesz wybrać wiersze, których wartość w kolumnie punktów nie mieści się w przedziale od 25 do 35, możesz dodać tyldę ( ~ ) przed nazwą kolumny:

 df_filtered = df[ ~ df[' points ']. between ( 25 , 35 )]

Poniższe przykłady pokazują, jak zastosować każdą metodę w praktyce.

Przykład: wybierz wiersze pomiędzy dwiema wartościami w Pandach

Załóżmy, że mamy następującą ramkę DataFrame pand, która zawiera informacje o punktach zdobytych przez koszykarzy z różnych drużyn:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Mavs', 'Mavs', 'Nets', 'Nets', 'Heat', 'Heat', 'Kings'],
                   ' points ': [22, 28, 35, 34, 29, 28, 23]})

#view DataFrame
print (df)

    team points
0 Mavs 22
1 Mavs 28
2 Nets 35
3 Nets 34
4 Heat 29
5 Heat 28
6 Kings 23

Możemy zastosować następującą składnię, aby wybrać tylko wiersze z ramki DataFrame, których wartość w kolumnie punktów mieści się w przedziale od 25 do 35:

 #select rows where value in points column is between 25 and 35
df_filtered = df[df[' points ']. between ( 25 , 35 )]

#view filtered DataFrame
print (df_filtered)

   team points
1 Mavs 28
2 Nets 35
3 Nets 34
4 Heat 29
5 Heat 28

Należy pamiętać, że wybrane zostały tylko wiersze, których wartość w kolumnie punktów mieści się w przedziale od 25 do 35.

Należy pamiętać, że funkcja Between() uwzględnia wartości w dolnej i górnej granicy.

Na przykład gracz z wartością punktów 35 został uwzględniony w przefiltrowanej ramce danych.

Jeśli zamiast tego chcesz wybrać tylko wiersze, których wartość w kolumnie punktów nie mieści się w przedziale od 25 do 35, możemy dodać tyldę ( ~ ) przed nazwą kolumny:

 #select rows where value in points column is not between 25 and 35
df_filtered = df[ ~ df[' points ']. between ( 25 , 35 )]

#view filtered DataFrame
print (df_filtered)

    team points
0 Mavs 22
6 Kings 23

Należy pamiętać, że wybrane zostały tylko wiersze, których wartość w kolumnie punktów nie mieści się w przedziale od 25 do 35.

Uwaga : pełną dokumentację funkcji pandas Between() można znaleźć tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w pandach:

Pandy: wybierz wiersze, w których dwie kolumny są równe
Pandy: wybierz wiersze z DataFrame, używając serii logicznej
Pandy: wybierz wiersze z wartościami NaN

Dodaj komentarz

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