Pandas: cara mengisi nilai nan menggunakan kamus
Anda dapat menggunakan fungsi fillna() dengan kamus untuk mengganti nilai NaN di satu kolom pandas DataFrame berdasarkan nilai di kolom lain.
Untuk melakukannya, Anda dapat menggunakan sintaks dasar berikut:
#define dictionary dict = {' A ': 5 , ' B ': 10 , ' C ': 15 , ' D ': 20 } #replace values in col2 based on dictionary values in col1 df[' col2 '] = df[' col2 ']. fillna (df[' col1 ']. map (dict))
Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.
Contoh: Isi nilai NaN di Pandas menggunakan kamus
Katakanlah kita memiliki pandas DataFrame berikut yang berisi informasi tentang penjualan yang dilakukan di berbagai toko ritel:
import pandas as pd import numpy as np #createDataFrame df = pd. DataFrame ({' store ': ['A', 'A', 'B', 'C', 'D', 'C', 'B', 'D'], ' sales ': [12, np.nan, 30, np.nan, 24, np.nan, np.nan, 13]}) #view DataFrame print (df) blind sales 0 to 12.0 1 A NaN 2 B 30.0 3 C NaN 4 D 24.0 5CNaN 6BNaN 7 D 13.0
Perhatikan bahwa ada beberapa nilai NaN di kolom Penjualan .
Katakanlah kita ingin mengisi NaN ini di kolom penjualan menggunakan nilai yang sesuai dengan nilai tertentu di kolom toko .
Kita dapat menggunakan sintaks berikut untuk melakukan ini:
#define dictionary dict = {' A ': 5 , ' B ': 10 , ' C ': 15 , ' D ': 20 } #replace values in sales column based on dictionary values in store column df[' sales '] = df[' sales ']. fillna (df[' store ']. map (dict)) #view updated DataFrame print (df) blind sales 0 to 12.0 1 A 5.0 2 B 30.0 3C 15.0 4 D 24.0 5C 15.0 6 B 10.0 7 D 13.0
Kami menggunakan kamus untuk melakukan penggantian berikut di kolom penjualan:
- Jika tokonya adalah A , ganti NaN di Sales dengan nilai 5 .
- Jika tokonya B , ganti NaN di sales dengan nilai 10 .
- Jika store adalah C , ganti NaN di sales dengan nilai 15 .
- Jika tokonya D , ganti NaN di sales dengan nilai 20 .
Anda dapat menemukan dokumentasi online lengkap untuk fungsi fillna() di sini .
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di panda:
Cara menghitung nilai yang hilang di panda
Cara menghapus baris dengan nilai NaN di Pandas
Cara menghapus baris yang berisi nilai tertentu di Pandas