我有一个类似这样的数据集。
Country Continent 1970 .... 2000 .... 2011
abc Asia 0.8 .... 0.9 .... 1.1
def Europe 0.9 .... 1.6 .... 0.6
asd Oceania 1.2 .... 2.3 .... 1.5
. .
. . . . .
. . . . .
我要实现的是基于大洲列的2000年及以上的组数据(仅某些列)。因此,将2000-2011年亚洲的数据分组,将欧洲的数据分组,依此类推,然后计算该分组的平均值。我的预期输出是这样的。
Avg of Asia from 2000-2011 is: val
Avg of Europe from 2000-2011 is: val
Avg of North America from 2000-2011 is: val
我对python和pandas相当陌生。到目前为止,这是我尝试过的。这给了我那几年的价值平均值。如何通过按大陆将年度值分组来做到这一点。
data_set = pd.read_csv('dataset.csv')
data_columns_needed = data_set[['2000', '2001', '2002', '2003', '2004', '2005', '2006', '2007', '2008', '2009', '2010', '2011']]
mean = data_columns_needed.mean()
print(mean)
我知道groupby方法,但是我还没有弄清楚如何实现它来实现此目的的解决方案。非常感谢帮助!
答案 0 :(得分:0)
您可以这样做:
# don't forget to add the 'Country' AND 'Continent' key here:
data_columns_needed = data_set[['Country', 'Continent', '2000', '2001', '2002', '2003', '2004', '2005', '2006', '2007', '2008', '2009', '2010', '2011']]
# average over a row:
data_columns_needed['row_mean'] = data_columns_needed[['2000', '2001' ... ]].mean(axis=1)
# average over a group, grouped by continents and countries:
data_columns_needed.groupby(['Continent', 'Country']).mean()
答案 1 :(得分:0)
检查数据框后,实际上不需要groupby。您只需要if (window.location.hostname === 'gb.homepage.com') {
document.querySelector('h1').innerHTML = 'GB Header'
}
公式并传递参数mean()
。
尝试以下操作:
axis=0