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

คืนค่าต่ำสุดของอาร์เรย์ที่มีค่าอนันต์บวก หรือข้าม NaN ใน Python

หากต้องการคืนค่าต่ำสุด (minimum) ของอาร์เรย์ หรือค่าต่ำสุดโดยข้ามค่า NaN ให้ใช้เมธอด numpy.nanmin() ใน Python

พารามิเตอร์สำคัญ

  • a: อาร์เรย์ที่มีตัวเลขซึ่งต้องการหาค่าต่ำสุด
  • axis: แกนที่คำนวณค่าต่ำสุด (default: None = flattened array)
  • out: อาร์เรย์สำหรับเก็บผลลัพธ์ (optional)
  • keepdims: เก็บมิติที่ลดรูปไว้เป็นขนาด 1 (default: False)
  • initial: ค่าสูงสุดขององค์ประกอบผลลัพธ์ (สำหรับ slice ว่าง)

ขั้นตอนการใช้งาน

1. นำเข้าไลบรารีที่จำเป็น

import numpy as np

2. สร้างอาร์เรย์ NumPy พร้อม NaN และ inf (positive infinity)

arr = np.array([[25, 50, 75], [90, np.nan, np.inf]])

3. แสดงอาร์เรย์

print("Our Array...\n", arr)

4. ตรวจสอบมิติ

print("\nDimensions of our Array...\n", arr.ndim)

5. ตรวจสอบชนิดข้อมูล

print("\nDatatype of our Array object...\n", arr.dtype)

6. หาค่าต่ำสุดของอาร์เรย์ทั้งหมด (ไม่ระบุ axis) โดยข้าม NaN

print("\nResult (nanmin)...\n", np.nanmin(arr))

ตัวอย่างโค้ดเต็ม

import numpy as np

# สร้างอาร์เรย์พร้อม NaN และ +inf
arr = np.array([[25, 50, 75], [90, np.nan, np.inf]])

# แสดงอาร์เรย์
print("Our Array...\n", arr)

# ตรวจสอบมิติ
print("\nDimensions of our Array...\n", arr.ndim)

# ตรวจสอบชนิดข้อมูล
print("\nDatatype of our Array object...\n", arr.dtype)

# หาค่าต่ำสุดของอาร์เรย์ทั้งหมด โดยข้าม NaN
print("\nResult (nanmin)...\n", np.nanmin(arr))

ผลลัพธ์ที่ได้

Our Array...
 [[25. 50. 75.]
 [90. nan inf]]
Dimensions of our Array...
 2
Datatype of our Array object...
 float64
Result (nanmin)...
 25.0

คำอธิบายเพิ่มเติม

ในตัวอย่างนี้ อาร์เรย์ 2x3 มีค่า: 25, 50, 75, 90, NaN, +inf

  • ค่า NaN ถูกข้าม
  • ค่า +inf ไม่ใช่ค่าต่ำสุด จึงไม่ส่งผล
  • ค่าต่ำสุดในค่าที่เหลือคือ 25.0

เปรียบเทียบกับบทความก่อนหน้า (ID: 1004095127):

กรณีอาร์เรย์ผลลัพธ์ nanminเหตุผล
มี -inf[25, 50, 75, 90, NaN, -inf]-inf-inf เป็นค่าต่ำสุดทางคณิตศาสตร์
มี +inf[25, 50, 75, 90, NaN, +inf]25.0+inf ไม่ใช่ค่าต่ำสุด ข้าม NaN หาค่าต่ำสุดจากที่เหลือ

สรุป: nanmin ข้าม NaN แต่ ไม่ข้าม ±inf ค่าอนันต์ยังถูกพิจารณาในการเปรียบเทียบ

คืนค่าต่ำสุดของอาร์เรย์ที่มีค่าอนันต์บวก หรือข้าม NaN ใน Python

ใช้ numpy.nanmin() หาค่าต่ำสุดข้าม NaN อาร์เรย์มี +inf ผลลัพธ์คือ 25.0 (ค่าต่ำสุดของค่าที่เหลือ)