ภาพรวม
ใช้ numpy.diff() คำนวณ n-th discrete difference ตาม axis ที่กำหนด first difference: out[i] = a[i+1] - a[i] higher differences คำนวณซ้ำด้วย diff recursively
สำคัญ: สำหรับ unsigned integer arrays ผลลัพธ์ก็จะเป็น unsigned ด้วย (underflow กลายเป็นค่ามาก)
พารามิเตอร์
a: อาร์เรย์อินพุทn(optional): จำนวนครั้งที่ diff (default 1, 0 = คืน input)axis(optional): axis ที่ diff (default -1 = last axis)prepend/append(optional): ค่าเพิ่มก่อน/หลังก่อน diff
ขั้นตอนการทำงาน
1. นำเข้า NumPy
import numpy as np
2. สร้าง unsigned integer array
arr = np.array([1, 0], dtype=np.uint8)
3. แสดงข้อมูลอาร์เรย์
print("Our Array...\n", arr)
print("\nDimensions of our Array...\n", arr.ndim)
print("\nDatatype of our Array object...\n", arr.dtype)
4. คำนวณ discrete difference (n=1)
print("\nDiscrete difference..\n", np.diff(arr))
ตัวอย่างโค้ดเต็ม
import numpy as np
arr = np.array([1, 0], dtype=np.uint8)
print("Our Array...\n", arr)
print("\nDimensions of our Array...\n", arr.ndim)
print("\nDatatype of our Array object...\n", arr.dtype)
print("\nDiscrete difference..\n", np.diff(arr))
ผลลัพธ์
Our Array... [1 0] Dimensions of our Array... 1 Datatype of our Array object... uint8 Discrete difference.. [255]
คำอธิบาย: 0 - 1 = -1 แต่เป็น uint8 (0-255) ดังนั้น underflow → 255 (2⁸ - 1) ต้องระวังการใช้ diff กับ unsigned types