Pandas: วิธีค้นหาค่าต่ำสุดในหลายคอลัมน์
คุณสามารถใช้วิธีการต่อไปนี้เพื่อค้นหาค่าต่ำสุดในหลายคอลัมน์ใน DataFrame ของแพนด้า:
วิธีที่ 1: ค้นหาค่าต่ำสุดจากหลายคอลัมน์
df[[' col1 ', ' col2 ', ' col3 ']]. min (axis= 1 )
วิธีที่ 2: เพิ่มคอลัมน์ใหม่ที่มีค่าต่ำสุดในหลายคอลัมน์
df[' new_col '] = df[[' col1 ', ' col2 ', ' col3 ']]. min (axis= 1 )
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับ Pandas DataFrame ต่อไปนี้:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' player ': ['A', 'B', 'C', 'D', 'E', 'F', 'G'],
' points ': [28, 17, 19, 14, 23, 26, 5],
' rebounds ': [5, 6, 4, 7, 14, 12, 9],
' assists ': [10, 13, 7, 8, 4, 5, 8]})
#view DataFrame
print (df)
player points rebound assists
0 to 28 5 10
1 B 17 6 13
2 C 19 4 7
3 D 14 7 8
4 E 23 14 4
5 F 26 12 5
6 G 5 9 8
ตัวอย่างที่ 1: ค้นหาค่าต่ำสุดในหลายคอลัมน์
รหัสต่อไปนี้แสดงวิธีการค้นหาค่าต่ำสุดในแต่ละแถวในคอลัมน์จุดและรีบาวด์:
#find minimum value across points and rebounds columns
df[[' points ', ' rebounds ']]. min (axis= 1 )
0 5
1 6
2 4
3 7
4 14
5 12
6 5
dtype: int64
ต่อไปนี้เป็นวิธีการตีความผลลัพธ์:
- ค่าต่ำสุดในคอลัมน์คะแนนและการรีบาวน์สำหรับแถวแรกคือ 5
- ค่าต่ำสุดในคอลัมน์คะแนนและการรีบาวด์สำหรับแถวที่สองคือ 6
- ค่าต่ำสุดในคอลัมน์คะแนนและการรีบาวน์สำหรับแถวที่สามคือ 4
และอื่นๆ
ตัวอย่างที่ 2: เพิ่มคอลัมน์ใหม่ที่มีค่าต่ำสุดในหลายคอลัมน์
รหัสต่อไปนี้แสดงวิธีการเพิ่มคอลัมน์ใหม่ลงใน DataFrame ที่ประกอบด้วยค่าต่ำสุดในแต่ละแถวในคอลัมน์จุดและตีกลับ:
#add new column that contains min value across points and rebounds columns
df[' min_points_rebs '] = df[[' points ', ' rebounds ']]. min (axis= 1 )
#view updated DataFrame
print (df)
player points rebounds assists min_points_rebs
0 to 28 5 10 5
1 B 17 6 13 6
2 C 19 4 7 4
3 D 14 7 8 7
4 E 23 14 4 14
5 F 26 12 5 12
6 G 5 9 8 5
คอลัมน์ใหม่ชื่อ min_points_rebs มีค่าต่ำสุดในจุดและตีกลับคอลัมน์สำหรับแต่ละแถวใน DataFrame
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ในแพนด้า:
Pandas: วิธีย้ายคอลัมน์หน้า DataFrame
Pandas: วิธีตรวจสอบว่าคอลัมน์มีสตริงหรือไม่
Pandas: วิธีเพิ่มคอลัมน์ว่างลงใน DataFrame