使用熊猫计算标准偏差时出现错误

时间:2019-04-07 16:24:29

标签: python-3.x pandas pandas-groupby

我正在尝试使用groupby中的两个变量来计算多列的标准偏差。但是,我的代码抛出错误,我很难解决它。

我正在使用https://www.shanelynn.ie/summarising-aggregation-and-grouping-data-in-python-pandas/作为指导。

下面是一个示例数据框:

Book Home    Num    Pointspread  odds
A   P       -135    -2.5        -110.0
B   P        NaN    -3          -101.0
B   P        NaN    -3          -110.0
C   P        NaN    -3          -120.0
B   P        NaN    -3          -100.0

这是我编写的代码

home_std_dev = home_analysis_data.groupby('Book','Home').agg({'Num':'std',
                                                          'Pointspread':'std',
                                                           'odds':'std'})

上面的代码给我一个错误

ValueError: No axis named Home for object type <class 'type'>

我不知道此错误的含义以及如何解决此问题。我期望看到一个表格,其中包含两个变量分组的列的标准偏差。任何帮助将不胜感激。

由于我是python的新手,请告诉我是否有更好的方法来解决此问题。谢谢!

1 个答案:

答案 0 :(得分:4)

使用list-groupby中的['Book','Home']按多列分组:

home_std_dev = home_analysis_data.groupby(['Book','Home']).agg({'Num':'std',
                                                      'Pointspread':'std',
                                                       'odds':'std'})