我正在尝试使用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的新手,请告诉我是否有更好的方法来解决此问题。谢谢!
答案 0 :(得分:4)
使用list
-groupby
中的['Book','Home']
按多列分组:
home_std_dev = home_analysis_data.groupby(['Book','Home']).agg({'Num':'std',
'Pointspread':'std',
'odds':'std'})