Python Pandas遍历行并计算一对唯一列的显示次数

2024-03-28 10:07:27 发布

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

我正在尝试添加一列来计算一个站点的日期(No)显示了多少次。在

例如,日期6/12/2013仅在No1处显示1条记录,因此将其计为1。2013年11月5日的第3条记录。第一次发生应计为1,第二次发生应计为2,依此类推,第三次发生应计为3。在

输入:

    No   Date        Value    
0   1    6/12/2013   35 
1   1    6/13/2013   45
2   1    6/14/2013   23
3   1    6/14/2013   40
4   2    6/12/2013   15
5   2    6/13/2013   20
6   2    6/14/2013   24
7   2    7/23/2013   33
8   3    5/11/2013   10
9   3    5/11/2013   11
10  3    5/11/2013   34
11  3    5/18/2013   24
.
.
.

结果应该如下所示:

^{pr2}$

我自己的解决办法是

result = []
for n in df['No'].unique():
    df1 = df[df['No'] == n]
    for date in df1['Date'].unique():
        df2 = df1[df1['Date'] == date]
        df2['count'] = np.arange(len(df2)) + 1
        result.append(df2)

把结果合并在一起。但它跑得很慢。有更好的解决办法吗?在


Tags: noindffordate站点value记录