Pandas: cara mengganti nilai nan dengan string
Anda dapat menggunakan metode berikut untuk mengganti nilai NaN dengan string di pandas DataFrame:
Metode 1: Ganti nilai NaN dengan string di seluruh DataFrame
df. fillna ('', inplace= True )
Metode 2: Ganti nilai NaN dengan string di kolom tertentu
df[[' col1 ', ' col2 ']] = df[[' col1 ', ' col2 ']]. fillna ('')
Metode 3: Ganti nilai NaN dengan string di kolom
df. col1 = df. col1 . fillna ('')
Contoh berikut menunjukkan cara menggunakan setiap metode dengan pandas DataFrame berikut:
import pandas as pd import numpy as np #create DataFrame with some NaN values df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' points ': [np.nan, 11, 7, 7, 8, 6, 14, 15], ' assists ': [5, np.nan, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, np.nan, 6, 5, 9, np.nan]}) #view DataFrame df team points assists rebounds 0 A NaN 5.0 11.0 1 A 11.0 NaN 8.0 2 A 7.0 7.0 10.0 3 A 7.0 9.0 NaN 4 B 8.0 12.0 6.0 5 B 6.0 9.0 5.0 6 B 14.0 9.0 9.0 7 B 15.0 4.0 NaN
Metode 1: Ganti nilai NaN dengan string di seluruh DataFrame
Kode berikut menunjukkan cara mengganti setiap nilai NaN di seluruh DataFrame dengan string kosong:
#replace NaN values in all columns with empty string
df. fillna ('', inplace= True )
#view updated DataFrame
df
team points assists rebounds
0 A 5.0 11.0
1 A 11.0 8.0
2 A 7.0 7.0 10.0
3 A 7.0 9.0
4 B 8.0 12.0 6.0
5 B 6.0 9.0 5.0
6 B 14.0 9.0 9.0
7B 15.0 4.0
Perhatikan bahwa setiap nilai NaN di setiap kolom telah diganti dengan string kosong.
Metode 2: Ganti nilai NaN dengan string di kolom tertentu
Kode berikut menunjukkan cara mengganti nilai NaN di kolom tertentu dengan string tertentu:
#replace NaN values in 'points' and 'rebounds' columns with 'none'
df[[' points ', ' rebounds ']] = df[[' points ', ' rebounds ']]. fillna (' none ')
#view updated DataFrame
df
team points assists rebounds
0 A none 5.0 11.0
1 A 11.0 NaN 8.0
2 A 7.0 7.0 10.0
3 A 7.0 9.0 none
4 B 8.0 12.0 6.0
5 B 6.0 9.0 5.0
6 B 14.0 9.0 9.0
7 B 15.0 4.0 none
Perhatikan bahwa nilai NaN di kolom “poin” dan “rebound” telah diganti dengan string “tidak ada”, tetapi nilai NaN di kolom “bantuan” tetap tidak berubah.
Metode 3: Ganti nilai NaN dengan string di kolom
Kode berikut menunjukkan cara mengganti nilai NaN di kolom dengan string tertentu:
#replace NaN values in 'points' column with 'zero'
df. points = df. points . fillna (' zero ')
#view updated DataFrame
df
team points assists rebounds
0 To zero 5.0 11.0
1 A 11.0 NaN 8.0
2 A 7.0 7.0 10.0
3 A 7.0 9.0 NaN
4 B 8.0 12.0 6.0
5 B 6.0 9.0 5.0
6 B 14.0 9.0 9.0
7 B 15.0 4.0 NaN
Perhatikan bahwa nilai NaN di kolom “poin” diganti dengan string “nol”, tetapi nilai NaN di kolom “assist” dan “rebound” tetap tidak berubah.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di panda:
Pandas: cara mengganti nilai pada kolom berdasarkan kondisi
Pandas: cara mengganti nilai NaN dengan nol
Pandas: Cara menghitung nilai yang hilang di DataFrame