ภาพรวม
ใช้ loc[] กรองคอลัมน์ที่ผลรวม (sum) ผ่านเกณฑ์ที่กำหนด เช่น คะแนนรวม > 400
ตัวอย่างโค้ด
import pandas as pd
dataFrame = pd.DataFrame({
'Jacob_Marks': [95, 90, 75, 85, 88],
'Ted_Marks': [60, 50, 65, 85, 70],
'Jamie_Marks': [77, 76, 65, 45, 50]
})
print("Dataframe...\n", dataFrame)
# กรองคอลัมน์ที่ sum > 400
dataFrame = dataFrame.loc[:, dataFrame.sum(axis=0) > 400]
print("Updated Dataframe...\n", dataFrame)
ผลลัพธ์
Dataframe...
Jacob_Marks Jamie_Marks Ted_Marks
0 95 77 60
1 90 76 50
2 75 65 65
3 85 45 85
4 88 50 70
Updated Dataframe...
Jacob_Marks
0 95
1 90
2 75
3 85
4 88
คำอธิบาย
- Jacob_Marks sum = 95+90+75+85+88 = 433 > 400 -> เก็บ
- Ted_Marks sum = 60+50+65+85+70 = 330 <= 400 -> ลบ
- Jamie_Marks sum = 77+76+65+45+50 = 313 <= 400 -> ลบ
axis=0= sum ตามแนวตั้ง (column sum)loc[:, condition]= ทุกแถว, คอลัมน์ที่ condition=True
ขยาย: กรองหลายเงื่อนไข
# Sum > 400 AND mean > 80
mask = (df.sum(axis=0) > 400) & (df.mean(axis=0) > 80)
df_filtered = df.loc[:, mask]
# ใช้ query (สำหรับ rows)
df.query('Jacob_Marks > 80')