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

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir