Pandalarda kümülatif sayı nasıl hesaplanır?
Pandas DataFrame’de kümülatif bir sayı hesaplamak için aşağıdaki yöntemleri kullanabilirsiniz:
Yöntem 1: Gruba göre kümülatif sayma
df[' cum_count '] = df. groupby (' col1 '). cumcount ()
Yöntem 2: birkaç gruba göre kümülatif hesap
df[' cum_count '] = df. groupby ([' col1 ', ' col2 ']). cumcount ()
Aşağıdaki örnekler, her yöntemin pratikte aşağıdaki pandalar DataFrame ile nasıl kullanılacağını gösterir:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' position ': ['G', 'G', 'G', 'F', 'G', 'G', 'F', 'F'], ' points ': [14, 22, 25, 34, 30, 12, 10, 18]}) #view DataFrame print (df) team position points 0 AG 14 1 AG 22 2 AG 25 3AF 34 4 BG 30 5 BG 12 6 BF 10 7 BF 18
Örnek 1: Pandalar’da gruba göre kümülatif sayım
DataFrame’deki her ekibin kümülatif sayısını görüntüleyen Team_cum_count adlı yeni bir sütun oluşturmak için aşağıdaki sözdizimini kullanabiliriz:
#calculate cumulative count by team
df[' team_cum_count '] = df. groupby (' team '). cumcount ()
#view updated DataFrame
print (df)
team position points team_cum_count
0 AG 14 0
1 AG 22 1
2 AG 25 2
3 AF 34 3
4 BG 30 0
5 BG 12 1
6 BF 10 2
7 BF 18 3
Team_cum_count adlı yeni sütun, sıfır değeriyle başlayarak her takımın kümülatif sayısını içerir.
Sayımın birden başlamasını istiyorsanız satırın sonuna bir tane eklemeniz yeterlidir:
#calculate cumulative count (starting at 1) by team
df[' team_cum_count '] = df. groupby (' team '). cumcount () + 1
#view updated DataFrame
print (df)
team position points team_cum_count
0 AG 14 1
1 AG 22 2
2 AG 25 3
3 AF 34 4
4 BG 30 1
5 BG 12 2
6 BF 10 3
7 BF 18 4
Team_cum_count adlı yeni sütun, bir değerinden başlayarak her takımın kümülatif sayısını içerir.
Örnek 2: Pandalar’da kümülatif sayıyı gruba göre hesaplama
DataFrame’deki her takım ve pozisyon için kümülatif sayıyı görüntüleyen, Team_pos_cum_count adında yeni bir sütun oluşturmak için aşağıdaki sözdizimini kullanabiliriz:
#calculate cumulative count by team
df[' team_pos_cum_count '] = df. groupby ([' team ', ' position ']). cumcount ()
#view updated DataFrame
print (df)
team position points team_pos_cum_count
0 AG 14 0
1 AG 22 1
2 AG 25 2
3 AF 34 0
4 BG 30 0
5 BG 12 1
6 BF 10 0
7 BF 18 1
Team_pos_cum_count adlı yeni sütun, sıfır değeriyle başlayan her takımın ve pozisyonun kümülatif sayısını içerir.
Not : Pandas’taki cumcount işlevinin tam belgelerini burada bulabilirsiniz.
Ek kaynaklar
Aşağıdaki eğitimlerde pandalarda diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
Pandalarda belirli sütunlar nasıl toplanır?
Pandalar’da bir koşula dayalı sütunlar nasıl toplanır?
Pandalarda ters kümülatif toplam nasıl hesaplanır