วิธีค้นหาผลรวมของแถวใน pandas dataframe


บ่อยครั้งที่คุณอาจสนใจคำนวณผลรวมของแถวตั้งแต่หนึ่งแถวขึ้นไปใน Pandas DataFrame โชคดีที่คุณสามารถทำสิ่งนี้ได้อย่างง่ายดายในแพนด้าโดยใช้ฟังก์ชัน sum(axis=1)

บทช่วยสอนนี้แสดงตัวอย่างหลายประการของการใช้ฟังก์ชันนี้ใน DataFrame ต่อไปนี้:

 import pandas as pd
import numpy as np

#createDataFrame
df = pd.DataFrame({'rating': [90, 85, 82, 88, 94, 90, 76, 75, 87, 86],
                   'points': [25, 20, 14, 16, 27, 20, 12, 15, 14, 19],
                   'assists': [5, 7, 7, 8, 5, 7, 6, 9, 9, 5],
                   'rebounds': [8, np.nan, 10, 6, 6, 9, 6, 10, 10, 7]})

#view DataFrame 
df


        rating points assists rebounds
0 90 25 5 8.0
1 85 20 7 NaN
2 82 14 7 10.0
3 88 16 8 6.0
4 94 27 5 6.0
5 90 20 7 9.0
6 76 12 6 6.0
7 75 15 9 10.0
8 87 14 9 10.0
9 86 19 5 7.07

ตัวอย่างที่ 1: ค้นหาผลรวมของแต่ละแถว

เราสามารถค้นหาผลรวมของแต่ละแถวของ DataFrame ได้โดยใช้ไวยากรณ์ต่อไปนี้:

 df. sum (axis=1)

0 128.0
1,112.0
2,113.0
3 118.0
4,132.0
5,126.0
6 100.0
7 109.0
8 120.0
9 117.0
dtype:float64

ผลลัพธ์บอกเราว่า:

  • ผลรวมของค่าในแถวแรกคือ 128 .
  • ผลรวมของค่าในแถวที่สองคือ 112 .
  • ผลรวมของค่าในแถวที่สามคือ 113 .

และอื่นๆ

ตัวอย่างที่ 2: วางผลรวมของแถวในคอลัมน์ใหม่

เราสามารถใช้โค้ดต่อไปนี้เพื่อเพิ่มคอลัมน์ใน DataFrame ของเราเพื่อเก็บผลรวมของแถว:

 #define new DataFrame column 'row_sum' as the sum of each row
df['row_sum'] = df. sum (axis=1)

#view DataFrame
df

rating points assists rebounds row_sum
0 90 25 5 8.0 128.0
1 85 20 7 NaN 112.0
2 82 14 7 10.0 113.0
3 88 16 8 6.0 118.0
4 94 27 5 6.0 132.0
5 90 20 7 9.0 126.0
6 76 12 6 6.0 100.0
7 75 15 9 10.0 109.0
8 87 14 9 10.0 120.0
9 86 19 5 7.0 117.0

ตัวอย่างที่ 3: ค้นหาผลรวมแถวสำหรับรายการสั้นๆ ของคอลัมน์ที่ต้องการ

เราสามารถใช้โค้ดต่อไปนี้เพื่อค้นหาผลรวมแถวสำหรับรายการสั้น ๆ ของคอลัมน์เฉพาะ:

 #define new DataFrame column as sum of points and assists columns
df['sum_pa'] = df['points'] + df['assists']

#view DataFrame
df

	rating points assists rebounds sum_pa
0 90 25 5 8.0 30
1 85 20 7 NaN 27
2 82 14 7 10.0 21
3 88 16 8 6.0 24
4 94 27 5 6.0 32
5 90 20 7 9.0 27
6 76 12 6 6.0 18
7 75 15 9 10.0 24
8 87 14 9 10.0 23
9 86 19 5 7.0 24

ตัวอย่างที่ 4: ค้นหาผลรวมแถวสำหรับรายการยาวของคอลัมน์ที่ต้องการ

เราสามารถใช้โค้ดต่อไปนี้เพื่อค้นหาผลรวมของแถวสำหรับรายการคอลัมน์เฉพาะที่ยาวขึ้น:

 #define col_list as a list of all DataFrame column names
col_list=list(df)

#remove the column 'rating' from the list
col_list.remove('rating')

#define new DataFrame column as sum of rows in col_list 
df['new_sum'] = df[col_list]. sum (axis=1)

#view DataFrame
df

        rating points assists rebounds new_sum
0 90 25 5 8.0 38.0
1 85 20 7 NaN 27.0
2 82 14 7 10.0 31.0
3 88 16 8 6.0 30.0
4 94 27 5 6.0 38.0
5 90 20 7 9.0 36.0
6 76 12 6 6.0 24.0
7 75 15 9 10.0 34.0
8 87 14 9 10.0 33.0
9 86 19 5 7.0 31.0

คุณสามารถดูเอกสารฉบับเต็มของฟังก์ชัน pandas sum() ได้ที่นี่

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

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