首页 > 解决方案 > 根据连续零值将数据帧拆分为多个(大小不同)

问题描述

我有一个带有数值的数据框(我在这里只显示用于“条件”的列)。我想将其拆分为其他几个(拆分后的数据框的大小可能不同)。“拆分”应基于连续的非零值。

在以下情况下,来自此初始数据帧:

我

我想把这三个数据框变成新的变量

第一的, 第二,第三

是否有任何功能可以在不解析所有初始数据帧的情况下实现这一目标?谢谢

标签: python-3.xpandasdataframesplit

解决方案


我想我找到了解决方案...

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

最后我有一个数据框,其中包含一组连续非零值的索引


推荐阅读