使用pandas进行分组并自动填充数据

时间:2017-06-13 10:11:22

标签: pandas pandas-groupby

我使用pandas有以下数据框:

enter image description here 具有nan的标题列元素应该说最后一个单词。因此,列标题应为:

nan Ciclo室内Ciclo室内Ciclo室内Ciclo室内泵身体泵....

在此之后,我想通过这项运动进行分组(循环室内等等)。

1 个答案:

答案 0 :(得分:1)

您可以将Series.fillnamethod='ffill'.ffill)一起使用,但不能与Index一起使用,因此首先需要Index.to_series

cols = [np.nan, 'Ciclo Indoor', np.nan, np.nan, 'Body Pump', np.nan, np.nan]
df = pd.DataFrame([[1,0,1,2,1,0,1]], columns = cols)
print (df)

   NaN  Ciclo Indoor  NaN  NaN  Body Pump  NaN  NaN
0    1             0    1    2          1    0    1

df.columns = df.columns.to_series().ffill()
print (df)
   NaN  Ciclo Indoor  Ciclo Indoor  Ciclo Indoor  Body Pump  Body Pump  \
0    1             0             1             2          1          0   

   Body Pump  
0          1  

列名axis=1level=0的最后groupby以及汇总summean ...

df1 = df.groupby(axis=1, level=0).sum()
print (df1)
   Body Pump  Ciclo Indoor
0          2             3