我有一个问题,我已经能够在excel上解决,但也需要能够在python中解决这个问题。我有一个客户表,其中包含已经终止会员资格的客户及其购买历史记录。我希望能够计算每个客户在终止会员资格之前和之后的购买次数。
对于第一行,我使用countifs公式= countifs (C:C," " "& &;B2,A:A,A2)来计算客户自终止以来的购买次数。
有办法在python中做到这一点吗?我试过使用groupby,但它并没有真正输出相同的数据这是数据框架
分组是你需要的技术,可能是你做错了。尝试以下方法来计算终止后的购买。
select id, count(*) from table where term < purchase group by id;
如果要计算终止前完成的购买,则将term
和purchase
替换为列名,并将<
替换为>
。
对应SQL语句的pandas查询为
df[df['Membership Termination date'] < df['Purchase date']].groupby('ID').size()