Computer >> Máy Tính >  >> Lập trình >> Python

Python - Làm thế nào để nhóm Pandas DataFrame theo tháng?

Chúng tôi sẽ nhóm Pandas DataFrame bằng cách sử dụng groupby . Chọn cột sẽ được sử dụng bằng chức năng cá mú. Chúng tôi sẽ nhóm theo tháng và tính tổng Giá đăng ký hàng tháng cho ví dụ của chúng tôi được hiển thị bên dưới cho Hồ sơ Bán xe.

Đầu tiên, giả sử như sau là Pandas DataFrame của chúng tôi với ba cột -

 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. Dấu thời gian ("2021-01-04"), pd.Timestamp ("2021-05-09")], "Reg_Price":[1000, 1400, 1100, 900, 1700, 1800, 1300, 1150, 1350]}) 

Sử dụng Grouper để chọn cột Date_of_Purchase trong hàm groupby (). Tần suất tần suất được đặt ‘M’ thành nhóm theo tháng -

 print ("\ nGroup Dataframe theo tháng ... \ n", dataFrame.groupby (pd.Grouper (key ='Date_of_Purchase', axis =0, freq ='M')). sum ())  

Ví dụ

Sau đây là mã -

 nhập gấu trúc dưới dạng khung dữ liệu pd # với một trong các cột là Date_of_PurchasedataFrame =pd.DataFrame ({"Xe":["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]}) in "DataFrame ... \ n", dataFrame # Grouper để chọn cột Date_of_Purchase trong groupby functionprint "\ nGroup Dataframe theo tháng ... \ n", dataFrame.groupby (pd .Grouper (key ='Date_of_Purchase', axis =0, freq ='M')). Sum () 

Đầu ra

Điều này sẽ tạo ra kết quả sau. Giá đăng ký hàng tháng được tính -

 DataFrame ... Car Date_of_Purchase Reg_Price0 Audi 2021-06-10 10001 Lexus 2021-07-11 14002 Tesla 2021-06-25 11003 Mercedes 2021-06-29 9004 BMW 2021-03-20 17005 Toyota 2021-01- 22 18006 Nissan 2021-01-06 13007 Bentley 2021-01-04 11508 Mustang 2021-05-09 1350 Khung dữ liệu nhóm theo tháng ... Reg_PriceDate_of_Purchase2021-01-31 4250.02021-02-28 NaN2021-03-31 1700.02021-04-30 NaN2021-05-31 1350.02021-06-30 3000.02021-07-31 1400.0