Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การหาค่าเฉลี่ย (Mean) ของ Column ตัวเลขทั้งหมดใน DataFrame Pandas

Method .mean() บน DataFrame จะคำนวณค่าเฉลี่ยของ **ทุก Column ที่เป็น Numeric** อัตโนมัติ (ข้าม String/Object Columns)

ตัวอย่างโค้ด


import pandas as pd

my_data = {
    'Name': pd.Series(['Tom', 'Jane', 'Vin', 'Eve', 'Will']),
    'Age': pd.Series([45, 67, 89, 12, 23]),
    'value': pd.Series([8.79, 23.24, 31.98, 78.56, 90.20])
}

my_df = pd.DataFrame(my_data)
print("The dataframe is:")
print(my_df)

print("\nThe mean of all numeric columns:")
print(my_df.mean())

ผลลัพธ์


The dataframe is:
   Name  Age  value
0  Tom   45   8.79
1  Jane  67  23.24
2  Vin   89  31.98
3  Eve   12  78.56
4  Will  23  90.20

The mean of all numeric columns:
Age     47.200000
value   46.554000
dtype: float64

คำอธิบาย

  • สร้าง DataFrame มี Column 'Name' (String), 'Age' (Int), 'value' (Float)

  • my_df.mean() คำนวณ Mean เฉพาะ Column Numeric (Age, value)

  • Column 'Name' ถูกข้ามอัตโนมัติ

พารามิเตอร์ mean() บน DataFrame


DataFrame.mean(axis=0, skipna=True, numeric_only=False)
  • axis=0: Column-wise (Default) - Mean แต่ละ Column
  • axis=1: Row-wise - Mean แต่ละ Row
  • skipna=True: ข้าม NaN
  • numeric_only=True: บังคับเฉพาะ Numeric (Default False แต่พฤติกรรมเหมือน True)

ตัวอย่างเพิ่มเติม


# Row-wise Mean (Axis=1)
print(my_df.mean(axis=1))
# 0    26.895
# 1    45.120
# 2    60.490
# 3    45.280
# 4    56.600
# dtype: float64

# Mean พร้อม NaN
df_nan = pd.DataFrame({'A': [1, 2, np.nan], 'B': [4, np.nan, 6]})
print(df_nan.mean())        # A: 1.5, B: 5.0 (skipna=True)
print(df_nan.mean(skipna=False))  # A: NaN, B: NaN

# Mean ของ Column เดียว (Series)
print(my_df['Age'].mean())  # 47.2

สถิติพื้นฐานอื่นๆ ที่คล้ายกัน

Methodคำอธิบาย
.sum()ผลรวม
.median()ค่ามัธยฐาน
.std()ส่วนเบี่ยงเบนมาตรฐาน
.var()ความแปรปรวน
.min() / .max()ค่าต่ำสุด/สูงสุด
.describe()สรุปทั้งหมด (Count, Mean, Std, Min, 25%, 50%, 75%, Max)

ทุก Method รองรับ axis และ skipna เหมือนกัน