2017-08-28 45 views
2

我有一个数据框,我想为每行添加一个平均值列,但不包括第一列'部门'。所以例如行0应该有45.007000而不是NaN。排除第一列的所有行的平均值

df2 = df[MatchesWithDept].copy() 
df2 = df2.replace(-999.250000, np.NaN) 
df2 = df2.assign(Master_GR=df2.loc[:, Matches[:]].mean()) 


    DEPT  GRD GRR Master_GR 
0 400.0 45.007000 NaN  NaN 
1 400.5 42.575001 NaN  NaN 
2 401.0 43.755001 NaN  NaN 
3 401.5 45.417000 NaN  NaN 
4 402.0 47.519001 NaN  NaN 

回答

3

可以drop第一列前mean

df['Master_GR'] = df.drop('DEPT', axis=1).mean(axis=1) 

或选择一个没有首先行乘iloc

df['Master_GR'] = df.iloc[:, 1:].mean(axis=1) 
相关问题