【问题标题】:Split dataframe into several ones (not the same size) based on consecuvite zero values根据连续零值将数据帧拆分为多个(大小不同)
【发布时间】:2020-07-23 11:22:13
【问题描述】:

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

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

:

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

,,

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

【问题讨论】:

    标签: python-3.x pandas dataframe split


    【解决方案1】:

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

    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
    

    最后我有一个具有连续非零值索引组的数据框

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-05
      • 2021-04-29
      • 2019-08-20
      • 2019-04-13
      • 2021-04-18
      • 2023-02-07
      • 2020-04-21
      • 2022-12-31
      相关资源
      最近更新 更多