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

เขียนโปรแกรม Python หาค่าต่ำสุดใน DataFrame เก็บไว้ในแถวและคอลัมน์ใหม่

สมมติว่าคุณมี DataFrame และต้องการหาค่าต่ำสุด (minimum) ของแต่ละแถวและแต่ละคอลัมน์ แล้วเก็บไว้ในคอลัมน์ใหม่และแถวใหม่

วิธีแก้ปัญหา

  1. สร้าง DataFrame
  2. หาค่าต่ำสุดต่อแถว: df.min(axis=1) เก็บในคอลัมน์ใหม่ 'min_value'
  3. หาค่าต่ำสุดต่อคอลัมน์: 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 ที่เพิ่งสร้าง