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

Tambahkan komentar

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