Pandas: sum up multiple columns into one column without last column

后端 未结 3 1249
悲哀的现实
悲哀的现实 2021-01-30 10:22

If I have a dataframe similar to this one

Apples   Bananas   Grapes   Kiwis
2        3         nan      1
1        3         7        nan
nan      nan       2            


        
3条回答
  •  失恋的感觉
    2021-01-30 10:52

    It is possible to do it without knowing the number of columns and even without iloc:

    print(df)
       Apples  Bananas  Grapes  Kiwis
    0     2.0      3.0     NaN    1.0
    1     1.0      3.0     7.0    NaN
    2     NaN      NaN     2.0    3.0
    
    cols_to_sum = df.columns[ : df.shape[1]-1]
    
    df['Fruit Total'] = df[cols_to_sum].sum(axis=1)
    
    print(df)
       Apples   Bananas Grapes  Kiwis   Fruit Total
    0  2.0      3.0     NaN     1.0     5.0
    1  1.0      3.0     7.0     NaN     11.0
    2  NaN      NaN     2.0     3.0     2.0
    

提交回复
热议问题