Jak korzystać z funkcji where() w pandach (z przykładami)


Funkcji Where() można użyć do zastąpienia określonych wartości w ramce DataFrame pandy.

Ta funkcja wykorzystuje następującą podstawową składnię:

 df. where (cond, other=nan)

Dla każdej wartości w ramce danych pandy, gdzie cond ma wartość True, zachowywana jest oryginalna wartość.

Dla każdej wartości, gdzie cond ma wartość False, oryginalna wartość jest zastępowana wartością określoną przez drugi argument.

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

 import pandas as pd

#define DataFrame
df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
df

points assists rebounds
0 25 5 11
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6
5 23 9 5
6 25 9 9
7 29 4 12

Przykład 1: Zamień wartości w całej DataFrame

Poniższy kod pokazuje, jak użyć funkcji Where() do zastąpienia wszystkich wartości, które nie spełniają określonego warunku w całej ramce DataFrame pandy, wartością NaN.

 #keep values that are greater than 7, but replace all others with NaN
df. where (df>7)

	points assists rebounds
0 25 NaN 11.0
1 12 NaN 8.0
2 15 NaN 10.0
3 14 9.0 NaN
4 19 12.0 NaN
5 23 9.0 NaN
6 25 9.0 9.0
7 29 NaN 12.0

Drugiego argumentu możemy także użyć do zastąpienia wartości czymś innym niż NaN.

 #keep values that are greater than 7, but replace all others with 'low'
df. where (df>7, other=' low ')

	points assists rebounds
0 25 low 11
1 12 low 8
2 15 low 10
3 14 9 low
4 19 12 low
5 23 9 low
6 25 9 9
7 29 low 12

Przykład 2: Zamień wartości w określonej kolumnie DataFrame

Poniższy kod pokazuje, jak użyć funkcji Where() do zamiany wszystkich wartości, które nie spełniają określonego warunku w określonej kolumnie DataFrame.

 #keep values greater than 15 in 'points' column, but replace others with 'low'
df[' points '] = df[' points ']. where (df[' points ']>15, other=' low ')

#view DataFrame
df

	points assists rebounds
0 25 5 11
1 low 7 8
2 low 7 10
3 low 9 6
4 19 12 6
5 23 9 5
6 25 9 9
7 29 4 12

Pełną dokumentację online funkcji pandaswhere() można znaleźć tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak korzystać z innych typowych funkcji pand:

Jak korzystać z funkcji opisu () w Pandach
Jak korzystać z funkcji idxmax() w Pandach
Jak zastosować funkcję do wybranych kolumn w Pandach

Dodaj komentarz

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