วิธีการคำนวณค่าเฉลี่ยของคอลัมน์ใน pandas


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

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

ตัวอย่างที่ 1: ค้นหาค่าเฉลี่ยของคอลัมน์เดียว

สมมติว่าเรามี DataFrame แพนด้าดังต่อไปนี้:

 import pandas as pd
import numpy as np

#createDataFrame
df = pd.DataFrame({'player': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J '],
                   'points': [25, 20, 14, 16, 27, 20, 12, 15, 14, 19],
                   'assists': [5, 7, 7, 8, 5, 7, 6, 9, 9, 5],
                   'rebounds': [np.nan, 8, 10, 6, 6, 9, 6, 10, 10, 7]})

#view DataFrame 
df

        player points assists rebounds
0 A 25 5 NaN
1 B 20 7 8.0
2 C 14 7 10.0
3 D 16 8 6.0
4 E 27 5 6.0
5 F 20 7 9.0
6 G 12 6 6.0
7:15 9 10.0
8 I 14 9 10.0
9 D 19 5 7.0

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

 df['points']. mean ()

18.2

ฟังก์ชัน Mean() จะยกเว้น NAs ตามค่าเริ่มต้นด้วย ตัวอย่างเช่น หากเราพบค่าเฉลี่ยของคอลัมน์ “รีบาวด์” ค่าแรกของ “NaN” จะถูกแยกออกจากการคำนวณ:

 df['rebounds']. mean ()

8.0

หากคุณพยายามค้นหาค่าเฉลี่ยของคอลัมน์ที่ไม่ใช่ตัวเลข คุณจะได้รับข้อผิดพลาด:

 df['player']. mean ()

TypeError: Could not convert ABCDEFGHIJ to numeric

ตัวอย่างที่ 2: ค้นหาค่าเฉลี่ยของหลายคอลัมน์

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

 #find mean of points and rebounds columns
df[['rebounds', 'points']]. mean ()

rebounds 8.0
points 18.2
dtype:float64

ตัวอย่างที่ 3: ค้นหาค่าเฉลี่ยของคอลัมน์ทั้งหมด

นอกจากนี้เรายังสามารถค้นหาค่าเฉลี่ยของคอลัมน์ตัวเลขทั้งหมดได้โดยใช้ไวยากรณ์ต่อไปนี้:

 #find mean of all numeric columns in DataFrame
df. mean ()

points 18.2
assists 6.8
rebounds 8.0
dtype:float64

โปรดทราบว่าฟังก์ชัน Mean() จะละเว้นคอลัมน์ที่ไม่ใช่ตัวเลข

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

วิธีคำนวณค่ามัธยฐานของหมีแพนด้า
วิธีคำนวณผลรวมของคอลัมน์ใน Pandas
วิธีค้นหาค่าสูงสุดของคอลัมน์ใน Pandas

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

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