Pandalar: bir sözlük kullanarak nan değerleri nasıl doldurulur
Pandas DataFrame’in bir sütunundaki NaN değerlerini başka bir sütundaki değerlere göre değiştirmek için fillna() işlevini bir sözlükle kullanabilirsiniz.
Bunu yapmak için aşağıdaki temel sözdizimini kullanabilirsiniz:
#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))
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: Pandalar’daki NaN değerlerini bir sözlük kullanarak doldurun
Çeşitli perakende mağazalarında yapılan satışlarla ilgili bilgileri içeren aşağıdaki pandalar DataFrame’e sahip olduğumuzu varsayalım:
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
Satış sütununda birden fazla NaN değerinin bulunduğunu unutmayın.
Diyelim ki bu NaN’leri mağaza sütunundaki belirli değerlere karşılık gelen değerleri kullanarak satış sütununa doldurmak istiyoruz.
Bunu yapmak için aşağıdaki sözdizimini kullanabiliriz:
#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
Satış sütununda aşağıdaki değişiklikleri yapmak için bir sözlük kullandık:
- Mağaza A ise Sales’deki NaN’yi 5 değeriyle değiştirin.
- Mağaza B ise, satışlardaki NaN’yi 10 değeriyle değiştirin.
- Mağaza C ise, satışlardaki NaN’yi 15 değeriyle değiştirin.
- Mağaza D ise, sales’teki NaN’yi 20 değeriyle değiştirin.
fillna() işlevine ilişkin çevrimiçi belgelerin tamamını burada bulabilirsiniz.
Ek kaynaklar
Aşağıdaki eğitimlerde pandalarda diğer yaygın işlemlerin nasıl gerçekleştirileceği açıklanmaktadır:
Pandalarda eksik değerler nasıl sayılır?
Pandalar’da NaN değerlerine sahip satırlar nasıl silinir
Pandalarda belirli bir değer içeren satırlar nasıl silinir