【发布时间】:2011-12-13 22:33:57
【问题描述】:
我有这样的数据:
ID ATTRIBUTE START END
1 A 01-01-2000 15-03-2010
1 B 05-11-2001 06-02-2002
2 B 01-02-2002 08-05-2008
2 B 01-06-2008 01-07-2008
我现在想统计每年具有某种属性的不同 ID 的数量。
结果可能如下所示:
YEAR count(A) count(B)
2000 1 0
2001 1 1
2002 1 2
2003 1 1
2004 1 1
2005 1 1
2006 1 1
2007 1 1
2008 1 1
2009 1 0
2010 1 0
我计算出现次数的第二步可能很容易。
但是我如何将我的数据分成几年呢?
提前谢谢你!
【问题讨论】:
-
您的意思是每年在
START和END之间的属性(A和B)计数? -
是的,差不多。我的意思是每年从开始到结束的属性计数(A 和 B),并且没有重复计算 ID(就像我的输入示例的最后两行)
-
到目前为止你尝试过什么?您可以为每一行创建一个年份序列,并将属性分配给每一年。当您对每一行数据执行此操作时,您只需使用属性计算年数。我敢肯定@daroczig 在他的路上有一个完整的代码答案。 :)
-
我目前正在尝试拆分我的数据,以便我每年都有一个数据框,其中仅包含当年活跃的剧集。然而,这是非常复杂的,需要大量的代码。希望有更简单的方法