Как выполнить групповой и средний по категориальным столбцам в Pandas - PullRequest
0 голосов
/ 04 июня 2018

Я работаю над набором данных с именем gradedata.csv в Python Pandas, где я создал новый столбец с именем «Status» в виде «Pass», если класс> 70, и «Fail», если класс <= 70. Вотсписок первых пяти строк набора данных: </p>

fname     lname  gender  age  exercise  hours  grade  \
0   Marcia      Pugh  female   17         3     10   82.4   
1   Kadeem  Morrison    male   18         4      4   78.2   
2     Nash    Powell    male   18         5      9   79.3   
3  Noelani    Wagner  female   14         2      7   83.2   
4  Noelani    Cherry  female   18         4     15   87.4   

   address status  
0   9253 Richardson Road, Matawan, NJ 07747   Pass  
1          33 Spring Dr., Taunton, MA 02780   Pass  
2          41 Hill Avenue, Mentor, OH 44060   Pass  
3        8839 Marshall St., Miami, FL 33125   Pass  
4  8304 Charles Rd., Lewis Center, OH 43035   Pass  

Теперь, как мне рассчитать средние часы упражнений учениц с «состоянием» прохождения ...?Я использовал приведенный ниже код, но он не работает.

print(df.groupby('gender', 'status')['exercise'].mean())

Я новичок в Пандах.Кто-нибудь, пожалуйста, помогите мне в решении этого.

1 Ответ

0 голосов
/ 04 июня 2018

Вы очень близки.Обратите внимание, что ваша groupby клавиша должна быть одной из сопоставления, функции, метки или списка меток .В этом случае вам нужен список меток.Например:

res = df.groupby(['gender', 'status'])['exercise'].mean()

Затем вы можете извлечь желаемый результат с помощью pd.Series.get:

query = res.get(('female', 'Pass'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...