首页 > 解决方案 > 有没有办法将我的以零分隔的递增整数列转换为迄今为止在熊猫数据帧中遇到的间隔数?

问题描述

我在 pandas 中工作,我的数据框中有一列用 0 填充,整数从 1 开始递增。我想添加另一列整数,但该列将是我们到目前为止遇到的被零分隔的间隔的计数器。例如我的数据喜欢

Index
1
2
3
0
1
2
0
1

我希望它看起来像

Index IntervalCount
1     1
2     1
3     1
0     1
1     2 
2     2
0     2
1     2

是否可以通过矢量化操作来做到这一点,还是我必须迭代地做到这一点?请注意,它是一个新列也可以覆盖旧列并不重要。

标签: python-3.xpandas

解决方案


你可以使用cumsum函数。

df["IntervalCount"] = (df["Index"] == 1).cumsum()


推荐阅读