Pandas: bagaimana cara mengganti inf dengan max value


Anda dapat menggunakan metode berikut untuk mengganti nilai inf dan -inf dengan nilai maksimum di pandas DataFrame:

Metode 1: Ganti inf dengan nilai maksimum dalam sebuah kolom

 #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 )

Metode 2: Ganti inf dengan nilai maksimum di semua kolom

 #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 )

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya dengan pandas DataFrame berikut:

 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

Contoh 1: Ganti inf dengan nilai maksimum dalam sebuah kolom

Kode berikut menunjukkan cara mengganti nilai inf dan -inf pada kolom bouncing dengan nilai maksimum pada kolom bouncing:

 #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

Perhatikan bahwa setiap nilai inf dan -inf di kolom pentalan telah diganti dengan nilai maksimum di kolom tersebut yaitu 12 .

Contoh 2: Ganti inf dengan nilai maksimum di semua kolom

Kode berikut menunjukkan cara mengganti nilai inf dan -inf setiap kolom dengan nilai maksimum seluruh data frame:

 #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

Perhatikan bahwa setiap nilai inf dan -inf di setiap kolom telah diganti dengan nilai maksimum di seluruh bingkai data sebesar 28 .

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di panda:

Bagaimana cara memperhitungkan nilai yang hilang di panda
Cara menghitung nilai yang hilang di panda
Cara mengisi nilai NaN dengan mean di pandas

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *