BaşlayınÜcretsiz Başlayın

İki yıl arasındaki mutlak fark

Başka bir değişken olarak, geçen yıl (2017) yapılan bağışların sayısı ile ondan önceki yıl (2016) yapılan bağışların sayısı arasındaki mutlak farkı eklemek isteyebilirsin. Bu değişkeni basetable'a eklemek için, sırasıyla 2016 ve 2017'de yapılan bağışları içeren iki pandas dataframe'i gifts_2016 ve gifts_2017 senin için oluşturuldu.

Bir pandas dataframe'i df içinde id sütunundaki her bir kimlik için gerçekleşme sayısını groupby fonksiyonuyla sayabileceğini hatırla:

df_grouped = df.groupby("id")["value"].count().reset_index()

Ayrıca iki dataframe'i df1 ve df2, verilen bir merge_id üzerinde aşağıdaki kodla sol birleştirme yapabileceğini de unutma:

merged_df = pd.merge(df1, df2, on=["merge_id"], how="left")

Bu egzersiz

Python ile Orta Düzey Öngörüsel Analitik

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • gifts_2016 içindeki her bağışçı için 2016'da yapılan bağış sayısını hesapla.
  • gifts_2017 içindeki her bağışçı için 2017'de yapılan bağış sayısını hesapla.
  • 2016 ve 2017'de yapılan bağış sayılarını basetable'a ekle.
  • 2017 ve 2016'da yapılan bağış sayıları arasındaki farkı basetable'da hesapla.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Number of gifts in 2016 and 2017 for each donor
gifts_2016_bydonor = gifts_2016.____("____").____().reset_index()
gifts_2016_bydonor.columns = ["donor_ID", "donations_2016"]
gifts_2017_bydonor = gifts_2017.____("____").____().reset_index()
gifts_2017_bydonor.columns = ["donor_ID", "donations_2017"]

# Add number of gifts in 2016 and 2017 to the basetable
basetable = pd.merge(____, ____, on="donor_ID", how="____")
basetable = pd.merge(____, ____, on="donor_ID", how="____")

# Calculate the number of gifts in 2017 minus number of gifts in 2016
basetable.fillna(0)
basetable["gifts_2017_min_2016"] = ____["____"] - ____["____"]
print(basetable.head())
Kodu Düzenle ve Çalıştır