Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python Pandas - Trả về trung điểm của mỗi Interval trong IntervalArray dưới dạng Index


Để trả về trung điểm của mỗi Interval trong IntervalArray dưới dạng Index, hãy sử dụng thuộc tính array.mid. Trước tiên,

Trước tiên, nhập các thư viện cần thiết:

import pandas as pd

Tạo hai đối tượng Interval. Các interval đóng được thiết lập bằng tham số "closed" với giá trị "both":

interval1 = pd.Interval(50, 75, closed='both')
interval2 = pd.Interval(65, 90, closed='both')

Hiển thị các interval:

print("Interval1...\n", interval1)
print("Interval2...\n", interval2)

Xây dựng một IntervalArray mới từ các đối tượng Interval:

array = pd.arrays.IntervalArray([interval1, interval2])

Trung điểm của mỗi Interval trong IntervalArray dưới dạng Index:

print("\nTrung điểm của mỗi interval trong IntervalArray...\n", array.mid)

Ví dụ

Dưới đây là mã hoàn chỉnh:

import pandas as pd
# Tạo hai đối tượng Interval
# Các interval đóng được thiết lập bằng tham số "closed" với giá trị "both"
interval1 = pd.Interval(50, 75, closed='both')
interval2 = pd.Interval(65, 90, closed='both')
# hiển thị các interval
print("Interval1...\n", interval1)
print("Interval2...\n", interval2)
# Xây dựng một IntervalArray mới từ các đối tượng Interval
array = pd.arrays.IntervalArray([interval1, interval2])
# Hiển thị IntervalArray
print("\nIntervalArray của chúng ta...\n", array)
# Lấy độ dài của IntervalArray
# Trả về một Index với các mục biểu thị độ dài của từng Interval trong IntervalArray
print("\nĐộ dài IntervalArray của chúng ta...\n", array.length)
# trung điểm của mỗi Interval trong IntervalArray dưới dạng Index
print("\nTrung điểm của mỗi interval trong IntervalArray...\n", array.mid)

Kết quả

Đoạn mã trên sẽ cho ra kết quả sau:

Interval1... [50, 75]
Interval2... [65, 90]
Our IntervalArray...  [[50, 75], [65, 90]] Length: 2, dtype: interval[int64, both]
Our IntervalArray length... Int64Index([25, 25], dtype='int64')
The midpoint of each interval in the IntervalArray... Float64Index([62.5, 77.5], dtype='float64')