Получение ошибки при расчете стандартного отклонения с помощью Pandas - PullRequest
1 голос
/ 07 апреля 2019

Я пытаюсь вычислить стандартное отклонение нескольких столбцов, используя две переменные в группе.Тем не менее, мой код выдает ошибку, и мне трудно понять это.

Я использую 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 Ответ

4 голосов
/ 07 апреля 2019

Используйте list in groupby - ['Book','Home'] для группировки по нескольким столбцам:

home_std_dev = home_analysis_data.groupby(['Book','Home']).agg({'Num':'std',
                                                      'Pointspread':'std',
                                                       'odds':'std'})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...