Ayları çeyreklere birleştirme
Aylık verileri daha detaylı görmek istediğimizde çeyrekleri aylara nasıl böleceğimizi gördük. Peki tersi durumda, verileri daha az sütunda birleştirmek istersek ne olur? Bu, özellikle geçmiş verilerle çalışırken aylık ayrıntıların gerekmemesi ya da bir rapor için verinin oldukça konsolide bir sürümüne ihtiyaç duyduğumuzda yaygındır.
Buradaki kilit nokta bir indeks oluşturmak ve ardından yalnızca 3'lü döngülerle ya da listenin sonuna kadar çeyrek toplamı quarter değerine ekleme yapmaktır. Bunu şu kodla yapabiliriz:
if index % 3 == 0 or index == len(months):
Bu kod, indeksin üçe bölündüğünde kalanının 0 olup olmadığını ya da indisin months listesinin sonunda olup olmadığını kontrol eder. Böylece bir döngü içinde, belirtilen kod her üç ayda bir veya listenin sonuna ulaşıldığında çalışır.
Aylık satışlar, ilk iki çeyrek ile Q3'ün ilk ayını içeren months listesi olarak kodda zaten verilmiştir. Görevin, ilk üç ayın çeyrek toplamlarını (Q3'ün kısmi toplamı dahil) içeren quarters adlı yeni bir liste oluşturmaktır.
Bu egzersiz
Python ile Finansal Tahminleme
kursunun bir parçasıdırEgzersiz talimatları
Yeni üç aylık değerleri tutmak için boş bir
quarterslistesi başlat veindexdeğişkenini1olarak ayarla.monthsiçindeki aylıksalesdeğerlerini bulmak için bir for döngüsü oluştur:- Aylık satışları
quarterdeğerine ekle. - Çeyreğin sonuna ya da
monthslistesinin sonuna gelindiyse, üç aylık toplamınıquarterslistesine ekle. - Üç aylık toplam
quarterdeğerini 0'a sıfırla,indexdeğerini 1 artır (bu senin için yapıldı).
- Aylık satışları
Çeyrek toplamlarını yazdır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Create a months list, as well as an index, and set the quarter to 0
months = [100, 100, 150, 250, 300, 10, 20]
quarter = 0
____ = ____
____ = ____
# Create for loop for quarter, print result, and increment the index
for sales in months:
quarter += ____
if index % ____ == ____ or index == len(____):
____.append(____)
quarter = 0
index = index + 1
print("The quarter totals are Q1: {}, Q2: {}, Q3: {}".format(quarters[0], ____, ____))