我的数据在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或者应用。
非常感谢任何帮助。