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

Python Pandas - Kiểm tra xem ngày trong DateTimeIndex có phải là ngày đầu quý không


Để kiểm tra xem một ngày trong DateTimeIndex có phải là ngày đầu tiên của quý hay không, hãy sử dụng thuộc tính DateTimeIndex.is_quarter_start.

Các bước thực hiện

1. Import thư viện

import pandas as pd

2. Tạo DateTimeIndex

Tạo DatetimeIndex với 6 kỳ, tần suất 30 ngày, múi giờ Australia/Adelaide:

datetimeindex = pd.date_range('2021-10-1 02:30:50', periods=6, tz='Australia/Adelaide', freq='30D')

3. Hiển thị DateTimeIndex

print("DateTimeIndex...\n", datetimeindex)

4. Kiểm tra ngày đầu quý

print("\nKiểm tra ngày đầu quý...\n", datetimeindex.is_quarter_start)

Ví dụ hoàn chỉnh

import pandas as pd

# Tạo DatetimeIndex: 6 kỳ, tần suất 30 ngày, múi giờ Australia/Adelaide
datetimeindex = pd.date_range('2021-10-1 02:30:50', periods=6, tz='Australia/Adelaide', freq='30D')

# Hiển thị DateTimeIndex
print("DateTimeIndex...\n", datetimeindex)

# Hiển thị tần suất
print("Tần suất DateTimeIndex...\n", datetimeindex.freq)

# Kiểm tra ngày đầu quý
# Quy 1: 1/1 - 31/3 | Quy 2: 1/4 - 30/6 | Quy 3: 1/7 - 30/9 | Quy 4: 1/10 - 31/12
print("\nKiểm tra ngày đầu quý...\n", datetimeindex.is_quarter_start)

Kết quả đầu ra

DateTimeIndex...
DatetimeIndex(['2021-10-01 02:30:50+09:30', '2021-10-31 02:30:50+10:30',
               '2021-11-30 02:30:50+10:30', '2021-12-30 02:30:50+10:30',
               '2022-01-29 02:30:50+10:30', '2022-02-28 02:30:50+10:30'],
              dtype='datetime64[ns, Australia/Adelaide]', freq='30D')
Tần suất DateTimeIndex...
<30 * Days>
Kiểm tra ngày đầu quý...
[ True False False False False False]

Giải thích: Ngày đầu tiên (2021-10-01) là ngày bắt đầu quý 4 (1/10), nên trả về True. Các ngày tiếp theo không phải ngày đầu quý.