我正在尝试添加一列来计算一个站点的日期(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)
把结果合并在一起。但它跑得很慢。有更好的解决办法吗?在
执行^{} 并使用^{} :
由于
cumcount
从0开始,因此需要添加1。在结果输出:
^{pr2}$相关问题 更多 >
编程相关推荐