如何通过汇总满足条件的另一列的值来创建新列?

时间:2019-06-27 21:39:23

标签: python pandas dataframe group-by

我有一个数据框,每一行代表一个用户的访问,包括一个userid列和一个date列。我想计算数据框中每个日期的迄今为止的唯一访问者的数量(不仅仅是该日期的唯一访问者-从数据框的第一个日期到行日期的唯一访问者)

数据框:

date           clientid
2015-01-01     12345
2015-01-01     12346
2015-01-02     12345
2015-01-02     12347
2015-01-03     12347

预期输出:

date         unique_visitors_to_date
2015-01-01   2
2015-01-02   3
2015-01-03   3

此代码在理论上是可行的,但是for循环陷入炼狱之中,而且我认为for循环不是“正确”的方法。

for i in range(0,519585):
     visit['cumulative'].loc[i] = visit[visit.date <=
 visit.date.loc[i]].clientid.nunique()

0 个答案:

没有答案