我有一些資料要按月計算。我要計數的列具有三個不同的可能值,每個值代表不同的汽車銷售量。這是我的資料框的示例:
Date Type_Car_Sold
2015-01-01 00:00:00 2
2015-01-01 00:00:00 1
2015-01-01 00:00:00 1
2015-01-01 00:00:00 3
... ...
我想做到這一點,所以我有一個資料框,可以分別計算按月銷售的每種特定汽車型別,所以看起來像這樣:
Month Car_Type_1 Car_Type_2 Car_Type_3 Total_Cars_Sold
1 15 12 17 44
2 9 18 20 47
... ... ... ... ...
我該怎么做呢?我試過做:
cars_sold = car_data['Type_Car_Sold'].groupby(car_data.Date.dt.month).agg('count')
但這只是總結了當月售出的所有汽車,而不是按每種售出的總數量來細分。有什么想法嗎?
uj5u.com熱心網友回復:
也許不是最干凈的解決方案,但這應該讓你非常接近
import pandas as pd
from datetime import datetime
df = pd.DataFrame({
"Date": [datetime(2022,1,1), datetime(2022,1,1), datetime(2022,2,1), datetime(2022,2,1)],
"Type": [1, 2, 1, 1],
})
df['Date'] = df["Date"].dt.to_period('M')
df['Value'] = 1
print(pd.pivot_table(df, values='Value', index=['Date'], columns=['Type'], aggfunc='count'))
Type 1 2
Date
2022-01 1.0 1.0
2022-02 2.0 NaN
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/435579.html
