是否有任何熊猫函数可以合并三行?

时间:2019-12-05 13:22:57

标签: python pandas dataframe

10000

所需的输出:

ABC | NaN  NaN  NaN  NaN  PK  KJ
PQR | NaN  NaN  RR  SS    NaN  NaN
MNO | PO   UI   NaN  NaN  NaN  NaN

尝试a = abc.combine_first(pqr) b = mno.combine_first(a)

1 个答案:

答案 0 :(得分:0)

让我们看下面的示例数据框架,其中包含2组 3个相邻行:

      C1   C2   C3   C4   C5   C6
ABC  NaN  NaN  NaN  NaN   PK   KJ
PQR  NaN  NaN   RR   SS  NaN  NaN
MNO   PO   UI  NaN  NaN  NaN  NaN
XXX   AA  NaN  NaN  NaN   EE  NaN
XX1  NaN   BB  NaN   DD  NaN  FF1
XX2  NaN  NaN   CC  NaN  NaN  FF2

然后继续进行以下操作:

  1. 定义一个“累加”组中内容的函数 行数:

    def getFirstValue(grp):
        return grp.reset_index().bfill(axis=0).iloc[0]
    
  2. 然后应用它:

    df2 = df.groupby(np.arange(len(df.index)) // 3).apply(getFirstValue)
    
  3. 和一些“整理”操作:

    df2.set_index('index', inplace=True)
    df2.index.name = None
    df2.columns.name = None
    

结果是:

     C1  C2  C3  C4  C5   C6
ABC  PO  UI  RR  SS  PK   KJ
XXX  AA  BB  CC  DD  EE  FF1