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 แต่ละ Columnaxis=1: Row-wise - Mean แต่ละ Rowskipna=True: ข้าม NaNnumeric_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 เหมือนกัน