Pandy: jak zastąpić inf wartością maksymalną


Możesz użyć następujących metod, aby zastąpić wartości inf i -inf wartością maksymalną w ramce DataFrame pandy:

Metoda 1: Zamień inf na maksymalną wartość w kolumnie

 #find max value of column
max_value = np. nanmax (df[' my_column '][df[' my_column '] != np. inf ])

#replace inf and -inf in column with max value of column 
df[' my_column ']. replace ([np. inf , -np. inf ], max_value, inplace= True )

Metoda 2: Zastąp inf wartością maksymalną we wszystkich kolumnach

 #find max value of entire data frame
max_value = np. nanmax (df[df != np.inf ])

#replace inf and -inf in all columns with max value
df. replace ([np. inf , -np. inf ], max_value, inplace= True )

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

 import pandas as pd
import numpy as np

#createDataFrame
df = pd. DataFrame ({' points ': [18, np.inf, 19, np.inf, 14, 11, 20, 28],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, np.inf],
                   ' rebounds ': [np.inf, 8, 10, 6, 6, -np.inf, 9, 12]})

#view DataFrame
print (df)

   points assists rebounds
0 18.0 5.0 lower
1 lower 7.0 8.0
2 19.0 7.0 10.0
3 lower 9.0 6.0
4 14.0 12.0 6.0
5 11.0 9.0 -inf
6 20.0 9.0 9.0
7 28.0 lower 12.0

Przykład 1: Zamień inf na maksymalną wartość w kolumnie

Poniższy kod pokazuje, jak zastąpić wartości inf i -inf w kolumnie odrzuceń wartością maksymalną w kolumnie odrzuceń:

 #find max value of rebounds
max_value = np. nanmax (df[' rebounds '][df[' rebounds '] != np. inf ])

#replace inf and -inf in rebounds with max value of rebounds
df[' rebounds ']. replace ([np. inf , -np. inf ], max_value, inplace= True )

#view updated DataFrame
print (df)

   points assists rebounds
0 18.0 5.0 12.0
1 lower 7.0 8.0
2 19.0 7.0 10.0
3 lower 9.0 6.0
4 14.0 12.0 6.0
5 11.0 9.0 12.0
6 20.0 9.0 9.0
7 28.0 lower 12.0

Należy zauważyć, że każda wartość inf i -inf w kolumnie odbić została zastąpiona maksymalną wartością w tej kolumnie wynoszącą 12 .

Przykład 2: Zastąp inf wartością maksymalną we wszystkich kolumnach

Poniższy kod pokazuje, jak zastąpić wartości inf i -inf każdej kolumny maksymalną wartością całej ramki danych:

 #find max value of entire data frame
max_value = np. nanmax (df[df != np.inf ])

#replace all inf and -inf with max value
df. replace ([np. inf , -np. inf ], max_value, inplace= True )

#view updated DataFrame
print (df)

   points assists rebounds
0 18.0 5.0 28.0
1 28.0 7.0 8.0
2 19.0 7.0 10.0
3 28.0 9.0 6.0
4 14.0 12.0 6.0
5 11.0 9.0 28.0
6 20.0 9.0 9.0
7 28.0 28.0 12.0

Należy zauważyć, że każda wartość inf i -inf w każdej kolumnie została zastąpiona maksymalną wartością w całej ramce danych wynoszącą 28 .

Dodatkowe zasoby

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

Jak przypisać brakujące wartości w pandach
Jak policzyć brakujące wartości w pandach
Jak wypełnić wartości NaN średnią w pandach

Dodaj komentarz

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