Pandalar: duruma göre ffill nasıl kullanılır?
Başka bir sütundaki bir koşula göre dolgu değerlerini iletmek amacıyla pandalarda ffill() işlevini kullanmak için aşağıdaki temel sözdizimini kullanabilirsiniz:
df[' sales '] = df. groupby (' store ')[' sales ']. ffill ()
Bu özel örnek, satış sütunundaki doldurma değerlerini yalnızca mağaza sütunundaki önceki değerin mağaza sütunundaki geçerli değere eşit olması durumunda iletecektir.
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: Pandalar’da koşula dayalı ffill kullanımı
Dört iş çeyreğinde iki farklı perakende mağazasının yaptığı toplam satışlar hakkında bilgi içeren aşağıdaki panda DataFrame’e sahip olduğumuzu varsayalım:
import pandas as pd import numpy as np #createDataFrame df = pd. DataFrame ({' store ': ['A', 'A', 'B', 'A', 'B', 'A', 'B', 'B'], ' quarter ': [1, 2, 1, 3, 2, 4, 3, 4], ' sales ': [12, 22, 30, np.nan, 24, np.nan, np.nan, np.nan]}) #view DataFrame print (df) store quarter sales 0 A 1 12.0 1 to 2 22.0 2 B 1 30.0 3 to 3 NaN 4 B 2 24.0 5 A 4 NaN 6 B 3 NaN 7 B 4 NaN
Satış sütununda birden fazla NaN değerinin bulunduğunu unutmayın.
Diyelim ki bu NaN değerlerini Satış sütunundaki bir önceki değeri kullanarak doldurmak istiyoruz ancak değerlerin doğru mağazaya karşılık geldiğinden emin olmak istiyoruz.
Bunu yapmak için aşağıdaki sözdizimini kullanabiliriz:
#group by store and forward fill values in sales column df[' sales '] = df. groupby (' store ')[' sales ']. ffill () #view updated DataFrame print (df) store quarter sales 0 A 1 12.0 1 to 2 22.0 2 B 1 30.0 3 A 3 22.0 4 B 2 24.0 5 A 4 22.0 6 B 3 24.0 7 B 4 24.0
Satış sütunundaki NaN değerlerinin önceki Satış değeriyle değiştirildiğini ve değerlerin doğru mağazaya karşılık geldiğini unutmayın.
Örneğin:
- Satır endeksinin 3. konumundaki NaN değeri, A mağazasına karşılık gelen satış sütunundaki en son değer olan 22 değeriyle değiştirildi.
- Satır indeksinin 6. pozisyonundaki NaN değeri, B mağazasına karşılık gelen satış sütunundaki en son değer olan 24 değeriyle değiştirildi.
Ve benzeri.
Not : Pandas ffill() işlevinin tam belgelerini 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