python - Pandas - 自上次以来的行号大于 0 值
问题描述
假设我有一个像这样的熊猫系列:
import pandas as pd
pd.Series([1, 0, 0, 1, 0, 0, 0], name='series')
自最后一个> 0数字以来,我将如何添加具有行数的列,如下所示:
pd.DataFrame({
'series': [1, 0, 0, 1, 0, 0, 0],
'row_num': [0, 1, 2, 0, 1, 2, 3]
})
解决方案
尝试这个:
s.groupby(s.cumsum()).cumcount()
输出:
0 0
1 1
2 2
3 0
4 1
5 2
6 3
dtype: int64
推荐阅读
- javascript - 无法在 Mocha 测试中将 VueX 商店导入路由器和路由器进入商店
- r - 使用 dplyr 在两列中查找重复的字符值
- powershell - 用powershell用字符串替换数字(用双引号括起来)
- docker - 避免在 Docker 中有多个容器
- reactjs - 如何测试依赖于 useContext 钩子的反应组件?
- javascript - 我可以编写一个函数来打开一个新页面并只显示过滤后的 div 吗?
- ssas - 监控 SSAS 将数据从 SQL Server 读取到多维数据集的行/秒速度
- osc - 如何让 OSC 与 Supercollider 中的调度程序交互
- r - 抓取网页链接时地图功能失败
- javascript - 删除从特定位置开始的未知数量的数组元素