Nhóm DataFrame theo khoảng thời gian ngày (time-based grouping) sử dụng pd.Grouper với tần suất freq='7D' (7 ngày). Tính tổng giá đăng ký theo từng khoảng 7 ngày.
Tạo DataFrame có cột ngày tháng
import pandas as pd
dataFrame = pd.DataFrame({
"Car": ["Audi", "Lexus", "Tesla", "Mercedes", "BMW", "Toyota", "Nissan", "Bentley", "Mustang"],
"Date_of_Purchase": [
pd.Timestamp("2021-06-10"),
pd.Timestamp("2021-07-11"),
pd.Timestamp("2021-06-25"),
pd.Timestamp("2021-06-29"),
pd.Timestamp("2021-03-20"),
pd.Timestamp("2021-01-22"),
pd.Timestamp("2021-01-06"),
pd.Timestamp("2021-01-04"),
pd.Timestamp("2021-05-09")
],
"Reg_Price": [1000, 1400, 1100, 900, 1700, 1800, 1300, 1150, 1350]
})
Nhóm theo khoảng 7 ngày
result = dataFrame.groupby(pd.Grouper(key='Date_of_Purchase', axis=0, freq='7D')).sum()
print("Nhóm theo 7 ngày:\n", result)
Kết quả (rút gọn)
Group Dataframe by 7 days...
Reg_Price
Date_of_Purchase
2021-01-04 2450.0
2021-01-11 NaN
2021-01-18 1800.0
...
2021-06-07 1000.0
2021-06-21 1100.0
2021-06-28 900.0
2021-07-05 1400.0
Giải thích
pd.Grouper(key='Date_of_Purchase', freq='7D')tạo nhóm dựa trên cột ngày, mỗi nhóm cách nhau 7 ngày.- Các khoảng thời gian không có dữ liệu sẽ có giá trị
NaN. .sum()tính tổng Reg_Price cho mỗi khoảng.- Tần suất khác:
'D'(ngày),'W'(tuần),'M'(tháng),'Q'(quý),'Y'(năm).
Cần đảm bảo cột ngày là kiểu datetime (Timestamp).