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

In ngày trong năm (day of year) từ Series ngày tháng Python

Mô tả bài toán

Cho một Series ngày tháng, cần tìm thứ tự ngày trong năm (day of year) cho mỗi ngày. Ví dụ: từ 2020-01-10 lấy 5 ngày liên tiếp.

Giải pháp

Sử dụng pd.date_range() tạo chuỗi ngày, chuyển thành Series, truy cập .dt.dayofyear.

Ví dụ code hoàn chỉnh

import pandas as pd

# Tạo 5 ngày liên tiếp từ 2020-01-10
date = pd.date_range('2020-01-10', periods=5)
data = pd.Series(date)
print("Series ngày:")
print(data)

# Lấy ngày trong năm (1-366)
day_of_year = data.dt.dayofyear
print("\nThứ tự ngày trong năm:")
print(day_of_year)

Đầu ra

Series ngày:
0   2020-01-10
1   2020-01-11
2   2020-01-12
3   2020-01-13
4   2020-01-14
dtype: datetime64[ns]

Thứ tự ngày trong năm:
0    10
1    11
2    12
3    13
4    14
dtype: int64

Ứng dụng thực tế

Thuộc tính dayofyear hữu ích cho:

  • Phân tích xu hướng theo mùa vụ.
  • So sánh cùng kỳ năm trước.
  • Tính toán ngày làm việc, ngày nghỉ trong năm.

Lưu ý: Năm nhuận (như 2020) có 366 ngày, dayofyear tối đa là 366.