如何标记pandas数据帧中日期的连续出现次数

时间:2014-11-26 04:21:47

标签: python pandas

我的数据在Pandas DataFrame中的结构如下:

    DATE        NAME   SIGN
0   2/24/2010   ABC     1
1   2/24/2010   DEF    -1
2   2/25/2010   ABC     1
3   2/25/2010   GHI    -1
4   2/26/2010   ABC    -1
…           

我想创建一个布尔值的附加列,并指示在数据集的后续DATE中是否存在NAME(即在两个连续观察DATE上)。整个数据集中的日期可能不连续。

此外,我想创建一个也是布尔值的列,并指示在数据集的后续DATE中是否存在或注意NAME和SIGN组合。生成的DataFrame看起来像这样:

    DATE        NAME    SIGN    CONS    CONS_SAME_SIGN
0   2/24/2010   ABC     1       TRUE    TRUE
1   2/24/2010   DEF    -1       FALSE   FALSE
2   2/25/2010   ABC     1       TRUE    FALSE
3   2/25/2010   GHI    -1       FALSE   FALSE
4   2/26/2010   ABC    -1       TRUE    FALSE
…                   

我在这个问题上挣扎了几个小时,但收效甚微。最终,我结束了编写嵌套for循环并迭代地解决了问题。不幸的是,这个解决方案非常缓慢,而且我更喜欢使用Pandas中的不错功能的东西,比如groupby或者应用。

非常感谢任何帮助。

0 个答案:

没有答案