Pandalarda kümülatif yüzde nasıl hesaplanır?
Pandas DataFrame’in bir sütunundaki değerlerin kümülatif yüzdesini hesaplamak için aşağıdaki temel sözdizimini kullanabilirsiniz:
#calculate cumulative sum of column df[' cum_sum '] = df[' col1 ']. cumsum () #calculate cumulative percentage of column (rounded to 2 decimal places) df[' cum_percent '] = round( 100 *df. cum_sum /df[' col1 ']. sum (), 2 )
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: Pandalar arasındaki kümülatif yüzdeyi hesaplayın
Bir şirketin ardışık yıllarda sattığı birimlerin sayısını gösteren aşağıdaki panda DataFrame’e sahip olduğumuzu varsayalım:
import pandas as pd #createDataFrame df = pd. DataFrame ({' year ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], ' units_sold ': [60, 75, 77, 87, 104, 134, 120, 125, 140, 150]}) #view DataFrame print (df) year units_sold 0 1 60 1 2 75 2 3 77 3 4 87 4 5 104 5 6 134 6 7 120 7 8 125 8 9 140 9 10 150
Daha sonra, satılan birimlerin kümülatif sayısını ve satılan birimlerin kümülatif yüzdesini görüntüleyen bir sütun eklemek için aşağıdaki kodu kullanabiliriz:
#calculate cumulative sum of units sold
df[' cum_sum '] = df[' units_sold ']. cumsum ()
#calculate cumulative percentage of units sold
df[' cum_percent '] = round( 100 *df. cum_sum /df[' units_sold ']. sum (), 2 )
#view updated DataFrame
print (df)
year units_sold cum_sum cum_percent
0 1 60 60 5.60
1 2 75 135 12.59
2 3 77 212 19.78
3 4 87 299 27.89
4 5 104 403 37.59
5 6 134 537 50.09
6 7 120 657 61.29
7 8 125 782 72.95
8 9 140 922 86.01
9 10 150 1072 100.00
Kümülatif yüzdeleri şu şekilde yorumluyoruz:
- Tüm satışların %5,60’ı ilk yılda gerçekleşti.
- Tüm satışların 12,59’u 1. ve 2. yıllarda yapıldı.
- Tüm satışların %19,78’i 1, 2 ve 3. yıllarda gerçekleşti.
Ve benzeri.
Görüntülenen ondalık basamak sayısını da değiştirmek için round() işlevindeki değeri kolayca değiştirebileceğinizi unutmayın.
Örneğin, bunun yerine kümülatif yüzdeyi sıfır ondalık basamağa yuvarlayabiliriz:
#calculate cumulative sum of units sold
df[' cum_sum '] = df[' units_sold ']. cumsum ()
#calculate cumulative percentage of units sold
df[' cum_percent '] = round( 100 *df. cum_sum /df[' units_sold ']. sum (), 0 )
#view updated DataFrame
print (df)
year units_sold cum_sum cum_percent
0 1 60 60 6.0
1 2 75 135 13.0
2 3 77 212 20.0
3 4 87 299 28.0
4 5 104 403 38.0
5 6 134 537 50.0
6 7 120 657 61.0
7 8 125 782 73.0
8 9 140 922 86.0
9 10 150 1072 100.0
Kümülatif yüzdeler artık sıfır ondalık basamağa yuvarlanıyor.
Ek kaynaklar
Aşağıdaki eğitimlerde Python’da diğer yaygın işlemlerin nasıl gerçekleştirileceği açıklanmaktadır:
Python’da Frekans Tabloları Nasıl Oluşturulur
Python’da Göreli Frekans Nasıl Hesaplanır?