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

Python Pandas - ตรวจสอบว่าช่วงใน IntervalArray มีค่าที่ระบุ (array.contains)

ในการตรวจสอบแบบองค์ประกอบ (element-wise) ว่าช่วง (Interval) ใน IntervalArray มีค่าที่ระบุหรือไม่ ให้ใช้เมธอด array.contains()

ขั้นตอนการทำงาน

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

import pandas as pd

2. สร้าง IntervalArray จากจุดแบ่ง

array = pd.arrays.IntervalArray.from_breaks([0, 1, 2, 3, 4, 5])

3. แสดงช่วง

print("Our IntervalArray...\n", array)

4. ตรวจสอบว่ามีค่า 3.5 หรือไม่

print("\nDoes the Intervals contain the value? \n", array.contains(3.5))

ตัวอย่างโค้ดสมบูรณ์

import pandas as pd

# สร้าง IntervalArray จากจุดแบ่ง
array = pd.arrays.IntervalArray.from_breaks([0, 1, 2, 3, 4, 5])

# แสดง IntervalArray
print("Our IntervalArray...\n", array)

# ความยาวของแต่ละช่วง
print("\nOur IntervalArray length...\n", array.length)

# จุดกึ่งกลางของแต่ละช่วง
print("\nThe midpoint of each interval in the IntervalArray...\n", array.mid)

# ปลายขวาของแต่ละช่วง
print("\nThe right endpoints of each Interval in the IntervalArray as an Index...\n", array.right)

# ตรวจสอบว่ามีค่า 3.5 หรือไม่
print("\nDoes the Intervals contain the value? \n", array.contains(3.5))

ผลลัพธ์

Our IntervalArray... 
[(0, 1], (1, 2], (2, 3], (3, 4], (4, 5]]
Length: 5, dtype: interval[int64, right]
Our IntervalArray length... Int64Index([1, 1, 1, 1, 1], dtype='int64')
The midpoint of each interval in the IntervalArray... Float64Index([0.5, 1.5, 2.5, 3.5, 4.5], dtype='float64')
The right endpoints of each Interval in the IntervalArray as an Index... Int64Index([1, 2, 3, 4, 5], dtype='int64')
Does the Intervals contain the value? [False False False True False]

คำอธิบาย

ค่า 3.5 อยู่ในช่วงที่ 4 (3, 4] เท่านั้น ดังนั้นตำแหน่งที่ 3 (นับจาก 0) เป็น True ส่วน length, mid, right เป็นคุณสมบัติเสริมของ IntervalArray