วิธีคำนวณจำนวนสะสมในหมีแพนด้า


คุณสามารถใช้วิธีการต่อไปนี้เพื่อคำนวณจำนวนสะสมใน DataFrame ของแพนด้า:

วิธีที่ 1: การนับสะสมตามกลุ่ม

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

วิธีที่ 2: บัญชีสะสมหลายกลุ่ม

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

ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับ Pandas DataFrame ต่อไปนี้:

 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

ตัวอย่างที่ 1: การนับสะสมตามกลุ่มที่ Pandas

เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อสร้างคอลัมน์ใหม่ที่เรียกว่า team_cum_count ที่แสดงจำนวนสะสมของแต่ละ ทีม ใน 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

คอลัมน์ใหม่ชื่อ team_cum_count มีจำนวนนับสะสมของแต่ละ ทีม โดยเริ่มจากค่าศูนย์

หากคุณต้องการให้การนับเริ่มต้นที่หนึ่ง ให้เพิ่มหนึ่งที่ท้ายบรรทัด:

 #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 มีจำนวนนับสะสมของแต่ละ ทีม โดยเริ่มจากค่าหนึ่ง

ตัวอย่างที่ 2: คำนวณจำนวนสะสมตามกลุ่มใน Pandas

เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อสร้างคอลัมน์ใหม่ที่เรียกว่า team_pos_cum_count ที่แสดงจำนวนสะสมสำหรับแต่ละ ทีม และ ตำแหน่ง ใน 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

คอลัมน์ใหม่ที่เรียกว่า team_pos_cum_count มีจำนวนนับสะสมของแต่ละ ทีม และ ตำแหน่ง ที่เริ่มต้นด้วยค่าศูนย์

หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มของฟังก์ชัน cumcount ใน pandas ได้ที่นี่

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ในแพนด้า:

วิธีรวมคอลัมน์เฉพาะใน Pandas
วิธีรวมคอลัมน์ตามเงื่อนไขใน Pandas
วิธีการคำนวณผลรวมสะสมแบบย้อนกลับในแพนด้า

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *