ใน Pandas สามารถสร้าง IntervalArray จากช่วงของค่าได้โดยใช้ pd.arrays.IntervalArray.from_breaks() โดยค่าเริ่มต้นช่วงจะปิดทางขวา (right-closed) หากต้องการเปลี่ยนการปิดช่วง ให้ใช้เมธอด set_closed() พร้อมระบุพารามิเตอร์เป็น 'both', 'left', 'right' หรือ 'neither'
ตัวอย่างโค้ด
import pandas as pd
# สร้าง IntervalArray จากจุดแบ่งช่วง 0 ถึง 5
index = pd.arrays.IntervalArray.from_breaks(range(6))
# แสดง IntervalArray เดิม
print("IntervalArray เดิม:\n", index)
# เปลี่ยนช่วงให้ปิดทั้งสองข้าง (both)
result = index.set_closed('both')
print("\nผลลัพธ์หลัง set_closed('both'):\n", result)
ผลลัพธ์
IntervalArray เดิม:
<IntervalArray> [(0, 1], (1, 2], (2, 3], (3, 4], (4, 5]] Length: 5, dtype: interval[int64, right]
ผลลัพธ์หลัง set_closed('both'):
<IntervalArray> [[0, 1], [1, 2], [2, 3], [3, 4], [4, 5]] Length: 5, dtype: interval[int64, both]
จากตัวอย่าง ช่วงเดิมเป็น (0, 1] (เปิดซ้าย ปิดขวา) หลังใช้ set_closed('both') จะกลายเป็น [0, 1] (ปิดทั้งสองข้าง) ซึ่งหมายถึงช่วงรวมค่า 0 และ 1 ทั้งคู่