我有一个格式为的数据集
Customer_key Issue_dt Amount
45435 2021-03-19 566
64352 2021-06-22 843
43766 2020-04-29 754
45435 2021-06-21 547
不同Issue_dt有许多重复的customer_key。我想按customer_key分组,只得到2021年的总金额。有人能建议一下怎么做吗??
如果需要按年份筛选,请使用boolean indexing
,然后聚合sum
:
df[df['Issue_dt'].dt.year == 2021].groupby('customer_keys', as_index=False)['Amount'].sum()
对于动态解决方案,获取实际年份并减去1
:
y = pd.to_datetime('now').year - 1
df[df['Issue_dt'].dt.year == y].groupby('customer_keys', as_index=False)['Amount'].sum()
使用:
df = pd.DataFrame({'Customer_key':[45435,64352,43766,45435], 'Issue_dt': ['2021-03-19','2021-06-22','2020-04-29','2021-06-21'], 'Amount': [566, 843, 754, 547]})
df[pd.to_datetime(df['Issue_dt']).dt.year==2021].groupby('Customer_key').sum()
首先按年份过滤df(在类型转换之后(,然后对组应用sum。