Pandas-计算过去1年的总价值



我有一个格式为的数据集

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。

最新更新