สมมติว่าคุณมี DataFrame และต้องการหาค่าต่ำสุด (minimum) ของแต่ละแถวและแต่ละคอลัมน์ แล้วเก็บไว้ในคอลัมน์ใหม่และแถวใหม่
วิธีแก้ปัญหา
- สร้าง DataFrame
- หาค่าต่ำสุดต่อแถว:
df.min(axis=1)เก็บในคอลัมน์ใหม่ 'min_value' - หาค่าต่ำสุดต่อคอลัมน์:
df.min(axis=0)เก็บในแถวใหม่ (ใช้df.loc[len(df)])
ตัวอย่างโค้ด
import pandas as pd
import numpy as np
data = [[12, 13, 5], [10, 6, 4], [16, 18, 20], [11, 15, 58]]
df = pd.DataFrame(data, columns=('one', 'two', 'three'))
print("DataFrame ต้นฉบับ:\n", df)
# เพิ่มคอลัมน์ min_value: ค่าต่ำสุดของแต่ละแถว
df['min_value'] = df.min(axis=1)
print("\nเพิ่มคอลัมน์ min_value (min ต่อแถว):")
print(df)
# เพิ่มแถวใหม่: ค่าต่ำสุดของแต่ละคอลัมน์
df.loc[len(df)] = df.min(axis=0)
print("\nเพิ่มแถวใหม่ (min ต่อคอลัมน์):")
print(df)
ผลลัพธ์
DataFrame ต้นฉบับ:
one two three
0 12 13 5
1 10 6 4
2 16 18 20
3 11 15 58
เพิ่มคอลัมน์ min_value (min ต่อแถว):
one two three min_value
0 12 13 5 5
1 10 6 4 4
2 16 18 20 16
3 11 15 58 11
เพิ่มแถวใหม่ (min ต่อคอลัมน์):
one two three min_value
0 12 13 5 5
1 10 6 4 4
2 16 18 20 16
3 11 15 58 11
4 10 6 4 4
คำอธิบาย:
axis=1: ทำงานแนวนอน (ต่อแถว) - หา min ของแต่ละแถวaxis=0: ทำงานแนวตั้ง (ต่อคอลัมน์) - หา min ของแต่ละคอลัมน์df.loc[len(df)]เพิ่มแถวใหม่ท้าย DataFrame โดยใช้ index ถัดไป- แถวใหม่จะมีค่า min ของแต่ละคอลัมน์ รวมถึงคอลัมน์ min_value ที่เพิ่งสร้าง