统计以前在大Pandas身上发现的复制品数量

2024-04-27 03:22:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据框,其中每一行是一个网页访问和访问的日期时间。例如:

from datetime import datetime
import pandas as pd
df = pd.DataFrame({'idvisitor': [1, 2, 3, 2, 4, 1, 1],
                   'dt': pd.date_range(start=datetime(2016, 1, 1), periods=7)})
print(df)

现在,在按datetime排序(示例dataframe已经排序)之后,我想添加一个列,其中的值是前面看到的具有相同idvisitor的元素的数量。一、 e.我们以前见过多少次使用某个idvisitor的用户。在

输出示例:

^{pr2}$

请注意,我不想只计算某个idvisitor的重复数(这很简单),我希望每个行的重复数达到当前行。在

如果没有昂贵的for循环,如何做到这一点?我有数百万排。在


Tags: 数据fromimport网页示例dataframepandasdf
1条回答
网友
1楼 · 发布于 2024-04-27 03:22:57

在“idvisitor”上调用^{}

In [29]:
df['prev_count'] = df.groupby('idvisitor').cumcount()
df

Out[29]:
          dt  idvisitor  prev_count
0 2016-01-01          1           0
1 2016-01-02          2           0
2 2016-01-03          3           0
3 2016-01-04          2           1
4 2016-01-05          4           0
5 2016-01-06          1           1
6 2016-01-07          1           2

相关问题 更多 >