问题在一个简单的数据帧(可下载的 csv)上尝试 groupby ,然后 agg 返回列的聚合值(大小、总和、平均值、标准偏差)。看似简单的问题却出现了出乎意料的具有挑战性的错误。
Top15.groupby('Continent')['Pop Est'].agg(np.mean, np.std...etc)
# returns
ValueError: No axis named <function std at 0x7f16841512f0> for object type <class 'pandas.core.series.Series'>
Run Code Online (Sandbox Code Playgroud)
我想要得到的是一个索引设置为大陆和列的 df ['size', 'sum', 'mean', 'std']
示例代码
import pandas as pd
import numpy as np
# Create df
df = pd.DataFrame({'Country':['Australia','China','America','Germany'],'Pop Est':['123','234','345','456'],'Continent':['Asia','Asia','North America','Europe']})
# group and agg
df = df.groupby('Continent')['Pop Est'].agg('size','sum','np.mean','np.std')
Run Code Online (Sandbox Code Playgroud)