Giả sử, bạn có chuỗi thời gian và kết quả cho tần suất cuối tháng tối đa,
DataFrame is: Id time_series 0 1 2020-01-05 1 2 2020-01-12 2 3 2020-01-19 3 4 2020-01-26 4 5 2020-02-02 5 6 2020-02-09 6 7 2020-02-16 7 8 2020-02-23 8 9 2020-03-01 9 10 2020-03-08 Maximum month end frequency: Id time_series time_series 2020-01-31 4 2020-01-26 2020-02-29 8 2020-02-23 2020-03-31 10 2020-03-08
Giải pháp
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước dưới đây -
-
Xác định khung dữ liệu với một cột,
d = {'Id': [1,2,3,4,5,6,7,8,9,10]} df = pd.DataFrame(d)
-
Tạo hàm date_range bên trong start =’01 / 01/2020 ’, period =10 và gán freq =‘ W ’. Nó sẽ tạo ra mười ngày từ ngày bắt đầu nhất định đến ngày bắt đầu hàng tuần tiếp theo và lưu trữ nó dưới dạng df [‘time_series’].
df['time_series'] = pd.date_range('01/01/2020', periods=10, freq='W')
-
Áp dụng phương pháp lấy lại mẫu để tìm tần suất cuối tháng tối đa,
df.resample('M', on='time_series').max())
Ví dụ
Hãy xem cách triển khai bên dưới để hiểu rõ hơn -
import pandas as pd d = {'Id': [1,2,3,4,5,6,7,8,9,10]} df = pd.DataFrame(d) df['time_series'] = pd.date_range('01/01/2020', periods=10, freq='W') print("DataFrame is:\n",df) print("Maximum month end frequency: ") print(df.resample('M', on='time_series').max())
Đầu ra
DataFrame is: Id time_series 0 1 2020-01-05 1 2 2020-01-12 2 3 2020-01-19 3 4 2020-01-26 4 5 2020-02-02 5 6 2020-02-09 6 7 2020-02-16 7 8 2020-02-23 8 9 2020-03-01 9 10 2020-03-08 Maximum month end frequency: Id time_series time_series 2020-01-31 4 2020-01-26 2020-02-29 8 2020-02-23 2020-03-31 10 2020-03-08