根据其他列值计算出的新的Pandas Dataframe列

时间:2018-08-28 07:12:14

标签: python pandas dataframe

如何在由该行中索引值范围的MEAN组成的数据框中创建新列?

示例:

     1    2    3  JUNK
0  0.0  0.0  0.0    A    
1  1.0  1.0 -1.0    B    
2  2.0  2.0  1.0    C

尝试确定MEAN列时,JUNK列将被忽略

预期输出:

     1    2    3  JUNK  MEAN
0  0.0  0.0  0.0    A    0.0
1  1.0  1.0 -1.0    B    0.33
2  2.0  2.0  1.0    C    1.66

1 个答案:

答案 0 :(得分:5)

使用drop删除或使用iloc过滤掉不必要的列:

df['MEAN'] = df.drop('JUNK', axis=1).mean(axis=1)

df['MEAN'] = df.iloc[:, :-1].mean(axis=1)

print (df)
     1    2    3 JUNK      MEAN
0  0.0  0.0  0.0    A  0.000000
1  1.0  1.0 -1.0    B  0.333333
2  2.0  2.0  1.0    C  1.666667