python pandas多索引数据框选择

时间:2014-10-09 12:54:28

标签: python csv pandas

Altough我发现了关于这个主题的多个问题,我找不到特别针对这个问题的解决方案。

我正在玩这个CSV文件,其中包含来自WHO的TBC数据的子选择: http://dign.eu/temp/tbc.csv

import pandas as pd
df = pd.read_csv('tbc.csv', index_col=['country', 'year'])

这提供了一个格式良好的DataFrame,按国家和年份排序,显示其中一个参数。

现在,对于这种情况,我想要" param"的平均值。在所有可用年份的每个国家。使用df.mean()给出了总体值,df.mean(axis=1)删除了使结果无用的所有索引。

显然我可以使用循环来做到这一点,但我想有一种更聪明的方法。但是如何?

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您希望将关卡传递给mean函数:

In [182]:

df.mean(level='country')
Out[182]:
                                                             param
country                                                           
Afghanistan                                           8391.312500 
Albania                                               183.888889  
Algeria                                               8024.588235 
American Samoa                                        1.500000    
....
West Bank and Gaza Strip                              12.538462   
Yemen                                                 4029.166667 
Zambia                                                13759.266667
Zimbabwe                                              12889.666667

[219 rows x 1 columns]