python-3.x - 根据连续零值将数据帧拆分为多个(大小不同)
问题描述
我有一个带有数值的数据框(我在这里只显示用于“条件”的列)。我想将其拆分为其他几个(拆分后的数据框的大小可能不同)。“拆分”应基于连续的非零值。
在以下情况下,来自此初始数据帧:
:
我想把这三个数据框变成新的变量
, ,
是否有任何功能可以在不解析所有初始数据帧的情况下实现这一目标?谢谢
解决方案
我想我找到了解决方案...
df['index']=df.index.values #Create columns with index
s = df.iloc[:,3].eq(0) #mask of zero value
new_df = df.groupby([s, s.cumsum()]).apply(lambda x: list(x.index)) #find on stackoverflow to group value based on the previous mask
out=new_df.loc[False] #Select only False Value therefore only value >0
最后我有一个数据框,其中包含一组连续非零值的索引
推荐阅读
- excel - 用单元格和单列中的特定值计算 Excel 中的总数
- flutter - 在 Flutter 中,如何通过单击另一个按钮来启用和禁用一个按钮?
- c++ - 从地图擦除时崩溃
- kubernetes - 脚本中变量的补丁不起作用
- javascript - Selenium JS 无法在其他页面上找到元素
- python - 使用变量访问列表或python中的另一个列表
- google-apps-script - 例外:参数 () 与 FormApp.TimeItem.createResponse 的方法签名不匹配。(第 117 行,文件“代码”)
- jmeter - 在仪表板报告 JMeter 中获取总 NaN、错误百分比、平均值、第 90、第 95、第 99 个百分比
- python - 如何在图表中整齐地或以一定间隔的形式显示 X 轴日期刻度
- javascript - 如何在 JavaScript 中记录没有堆栈跟踪的错误消息?