İ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ırEgzersiz talimatları
gifts_2016içindeki her bağışçı için 2016'da yapılan bağış sayısını hesapla.gifts_2017iç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())