【发布时间】:2016-06-05 21:00:49
【问题描述】:
假设我有一个具有以下值的数据框:
df:
col1 col2 value
1 2 3
1 2 1
2 3 1
我想首先根据前两列(col1 和 col2)对我的数据框进行分组,然后对第三列的值(值)进行平均。所以想要的输出应该是这样的:
col1 col2 avg-value
1 2 2
2 3 1
我正在使用以下代码:
columns = ['col1','col2','avg']
df = pd.DataFrame(columns=columns)
df.loc[0] = [1,2,3]
df.loc[1] = [1,3,3]
print(df[['col1','col2','avg']].groupby('col1','col2').mean())
得到以下错误:
ValueError: No axis named col2 for object type <class 'pandas.core.frame.DataFrame'>
任何帮助将不胜感激。
【问题讨论】:
标签: python pandas group-by average