Compute row average in pandas

前端 未结 4 1821
走了就别回头了
走了就别回头了 2020-11-28 08:14
       Y1961      Y1962      Y1963      Y1964      Y1965  Region
0  82.567307  83.104757  83.183700  83.030338  82.831958  US
1   2.699372   2.610110   2.587919   2.         


        
相关标签:
4条回答
  • 2020-11-28 09:01

    If you are looking to average column wise. Try this,

    df.drop('Region', axis=1).apply(lambda x: x.mean())
    
    # it drops the Region column
    df.drop('Region', axis=1,inplace=True)
    
    0 讨论(0)
  • 2020-11-28 09:02

    I think this is what you are looking for:

    df.drop('Region', axis=1).apply(lambda x: x.mean(), axis=1)
    
    0 讨论(0)
  • 2020-11-28 09:06

    You can specify a new column. You also need to compute the mean along the rows, so use axis=1.

    df['mean'] = df.mean(axis=1)
    >>> df
           Y1961      Y1962      Y1963      Y1964      Y1965 Region       mean
    0  82.567307  83.104757  83.183700  83.030338  82.831958     US  82.943612
    1   2.699372   2.610110   2.587919   2.696451   2.846247     US   2.688020
    2  14.131355  13.690028  13.599516  13.649176  13.649046     US  13.743824
    3   0.048589   0.046982   0.046583   0.046225   0.051750     US   0.048026
    4   0.553377   0.548123   0.582282   0.577811   0.620999     US   0.576518
    
    0 讨论(0)
  • 2020-11-28 09:06

    We can find the the mean of a row using the range function, i.e in your case, from the Y1961 column to the Y1965

    df['mean'] = df.iloc[:, 0:4].mean(axis=1)
    

    And if you want to select individual columns

    df['mean'] = df.iloc[:, [0,1,2,3,4].mean(axis=1)
    
    0 讨论(0)
提交回复
热议问题