计算数据框中的多个列

时间:2016-12-22 21:42:51

标签: python python-2.7 pandas average

目标

我只使用Pandas几天,并尝试使用.loc.mean()来计算多列的平均值,并在列下的新行中表示值。 / p>

我的尝试

找到单个列的平均值时,使用以下代码......:

df.loc['Average', 'Column1'] = df['Column1'].mean()

^ ...输出符合预期。

但是,当我尝试添加其他列以查找平均值时,

df.loc['Average', 'Column1', 'Column2'] = df['Column1', 'Column2'].mean()

我收到以下错误:

KeyError: ('Column1', 'Column2')

我假设有一个非常简单的解决方案 - 在这个阶段我只是很新。

预期输出

# ...... is replaced with numbers

            Column1       Column2
1           .......       .......
2           .......       .......
3           .......       .......
...         .......       .......
Average     #SomeFloat    #AnotherFloat

2 个答案:

答案 0 :(得分:2)

您需要在列表中包含多个列名称:

df.loc['Average', ['Column1', 'Column2']] = df[['Column1', 'Column2']].mean()

答案 1 :(得分:1)

意味着仅对单个输入进行操作。获得所需结果的最直接方法可能是使用列列表:

df[['Column1', 'Column2']].mean()

您也可以单独计算它们,添加这些方法,然后除以2,但这样做的更多。