python-3.x - 有没有办法将我的以零分隔的递增整数列转换为迄今为止在熊猫数据帧中遇到的间隔数?
问题描述
我在 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
是否可以通过矢量化操作来做到这一点,还是我必须迭代地做到这一点?请注意,它是一个新列也可以覆盖旧列并不重要。
解决方案
你可以使用cumsum
函数。
df["IntervalCount"] = (df["Index"] == 1).cumsum()
推荐阅读
- javascript - 如何通过javascript中的多个键对对象数组进行分组
- reactjs - 在自定义文档 (Next.js) 中使用 React 上下文
- memcpy - 为什么Linux系统中调用memcpy的性能很差而且有波动
- ios - Swift 参数类型“XXX”应为类或类约束类型的实例
- r - 发散图的 x 轴起始值
- sql - 如何提取数值的最后 4 位?
- unit-testing - gtest 初始化失败,如果在包中调用 InitGoogleTest
- firebase - Firebase 推送通知在 ios 设备中不起作用
- python - 是否有必要在 PCA 之后对数据进行标准化以将其作为聚类的输入?
- azure - 根据部署区域选择经典云服务 VM 大小