Cara menghitung angka kumulatif pada panda


Anda dapat menggunakan metode berikut untuk menghitung angka kumulatif di pandas DataFrame:

Metode 1: Penghitungan kumulatif berdasarkan kelompok

 df[' cum_count '] = df. groupby (' col1 '). cumcount ()

Metode 2: akun kumulatif oleh beberapa kelompok

 df[' cum_count '] = df. groupby ([' col1 ', ' col2 ']). cumcount ()

Contoh berikut menunjukkan cara menggunakan setiap metode dalam praktik dengan pandas DataFrame berikut:

 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

Contoh 1: Penghitungan kumulatif berdasarkan kelompok di Pandas

Kita dapat menggunakan sintaks berikut untuk membuat kolom baru bernama team_cum_count yang menampilkan jumlah kumulatif setiap tim di DataFrame:

 #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

Kolom baru bernama team_cum_count berisi jumlah kumulatif setiap tim , dimulai dengan nilai nol.

Jika Anda ingin penghitungan dimulai dari satu, cukup tambahkan satu di akhir baris:

 #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

Kolom baru bernama team_cum_count berisi jumlah kumulatif setiap tim , dimulai dengan nilai satu.

Contoh 2: Hitung jumlah kumulatif berdasarkan grup di Pandas

Kita dapat menggunakan sintaks berikut untuk membuat kolom baru bernama team_pos_cum_count yang menampilkan jumlah kumulatif untuk setiap tim dan posisi di DataFrame:

 #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

Kolom baru bernama team_pos_cum_count berisi jumlah kumulatif setiap tim dan posisi yang dimulai dengan nilai nol.

Catatan : Anda dapat menemukan dokumentasi lengkap fungsi cumcount di pandas di sini .

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di panda:

Cara menjumlahkan kolom tertentu di Pandas
Cara menjumlahkan kolom berdasarkan kondisi di Pandas
Cara menghitung jumlah kumulatif terbalik di panda

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *