Pandas:计算首次购买金额
Pandas: calculate first purchase amount
我需要计算每个客户的首次购买金额。这是我的代码:
ticket.groupby(['user_reference_id','total_amount']).reference_date.min().reset_index()``
我得到了这个结果:
user_reference_id total_amount reference_date*
159 12.77 2019-06-17
159 19.73 2019-06-17
159 21.55 2019-06-18
159 49.15 2019-06-16
159 49.66 2019-06-14
enter image description here
我需要按 user_reference_id 分组,最小值 reference_date(客户首次购买的日期)和相应的 total_amount。
在这种情况下,我需要下一个输出:reference_date 2019-06-14,user_reference_id 159 和 total_amount 49.66
一个选项是:
第 1 步: 按 ID 和日期排序
df=df.sort_values(['user_reference_id', 'reference_date'], ascending=True)
第 2 步: df 已排序,使用 groupby.agg 函数获取第一个值。
df_result=df.groupby('user_reference_id',as_index=False).agg({'reference_date':'first', 'total_amount':'first'})
我需要计算每个客户的首次购买金额。这是我的代码:
ticket.groupby(['user_reference_id','total_amount']).reference_date.min().reset_index()``
我得到了这个结果:
user_reference_id total_amount reference_date*
159 12.77 2019-06-17
159 19.73 2019-06-17
159 21.55 2019-06-18
159 49.15 2019-06-16
159 49.66 2019-06-14
enter image description here
我需要按 user_reference_id 分组,最小值 reference_date(客户首次购买的日期)和相应的 total_amount。 在这种情况下,我需要下一个输出:reference_date 2019-06-14,user_reference_id 159 和 total_amount 49.66
一个选项是:
第 1 步: 按 ID 和日期排序
df=df.sort_values(['user_reference_id', 'reference_date'], ascending=True)
第 2 步: df 已排序,使用 groupby.agg 函数获取第一个值。
df_result=df.groupby('user_reference_id',as_index=False).agg({'reference_date':'first', 'total_amount':'first'})