Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python遍历行并计算一对唯一的列显示了多少次_Python_Pandas - Fatal编程技术网

Python遍历行并计算一对唯一的列显示了多少次

Python遍历行并计算一对唯一的列显示了多少次,python,pandas,Python,Pandas,我试图添加一列来计算某个站点的日期(否)显示了多少次 例如,2013年12月6日的No1仅显示1条记录,因此将其计为1。2013年11月5日第3号有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

我试图添加一列来计算某个站点的日期(否)显示了多少次

例如,2013年12月6日的No1仅显示1条记录,因此将其计为1。2013年11月5日第3号有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
.
.
.
结果应该如下所示:

    No   Date        Value    count
0   1    6/12/2013   35       1
1   1    6/13/2013   45       1
2   1    6/14/2013   23       1
3   1    6/14/2013   40       2
4   2    6/12/2013   15       1
5   2    6/13/2013   20       1
6   2    6/14/2013   24       1
7   2    7/23/2013   33       1
8   3    5/11/2013   10       1
9   3    5/11/2013   11       2
10  3    5/11/2013   34       3
11  3    5/18/2013   24       1
.
.
.
我自己的解决办法是

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)
并将结果合并在一起。但是它运行得很慢。有更好的解决方案吗?

执行以下操作并使用:

添加1是必需的,因为
cumcount
从0开始

结果输出:

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