目标
我只使用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
答案 0 :(得分:2)
您需要在列表中包含多个列名称:
df.loc['Average', ['Column1', 'Column2']] = df[['Column1', 'Column2']].mean()
答案 1 :(得分:1)
意味着仅对单个输入进行操作。获得所需结果的最直接方法可能是使用列列表:
df[['Column1', 'Column2']].mean()
您也可以单独计算它们,添加这些方法,然后除以2,但这样做的更多。