基于多个条件在python中编写COUNTIFS



我有一个问题,我已经能够在excel上解决,但也需要能够在python中解决这个问题。我有一个客户表,其中包含已经终止会员资格的客户及其购买历史记录。我希望能够计算每个客户在终止会员资格之前和之后的购买次数。

对于第一行,我使用countifs公式= countifs (C:C," " "& &;B2,A:A,A2)来计算客户自终止以来的购买次数。

有办法在python中做到这一点吗?我试过使用groupby,但它并没有真正输出相同的数据这是数据框架

分组是你需要的技术,可能是你做错了。尝试以下方法来计算终止后的购买。

select id, count(*) from table where term < purchase group by id;

如果要计算终止前完成的购买,则将termpurchase替换为列名,并将<替换为>

对应SQL语句的pandas查询为

df[df['Membership Termination date'] < df['Purchase date']].groupby('ID').size()

最新更新