【发布时间】:2020-03-07 21:37:53
【问题描述】:
我在 SO 上检查了这个 question 和其他人,但诀窍总是对 True 或 False 值求和。
我的情况是以下数组:
arr = [1,2,3,3,4,5,6,1,1,1,5,5,8,8,8,9,4,4,4]
我想为数组的每个成员获取重复值的“当前”条纹的长度。
对于上面的例子,我想得到:
res = [1,1,1,2,1,1,1,1,2,3,1,2,1,2,3,1,1,2,3]
我可以编写一个愚蠢的循环,但是在 numpy/pandas 中是否有一种聪明的或已经内置的方法来做到这一点?
【问题讨论】:
-
需要对您链接的解决方案进行非常小的修改以适用于您的情况...
-
@Chapo 认为您需要编辑标题以反映您想要创建一个 ranged-array,而不仅仅是获取计数。
标签: python arrays pandas numpy