У меня есть группа, где вертикальная ось - это статус учетной записи, «Хорошие» и «Плохие» счета, а горизонтальная ось - State (AK, AZ ... и т. Д.). Я хочу найти соотношение между хорошими и плохими счетами по штату, но я не могу найти, как работать с одной категорией («Хорошо») над другой («Плохой»).Выполнение операций внутри группы
Спасибо!
Подробнее:
Data(contained in "df"):
astatus astate
Good AK
Bad AK
Good NY
Good GA
Моя попытка:
d=df.groupby([astatus', 'astate']).size()
d=d.unstack('astate')
Результаты в:
astate AK NY GA
astatus
Good 1 1 1
Bad 1 0 0
Я вижу, что, как представляется, тенденция в наборе данных, так что я хотел бы для определения% хороших счетов по штату, но я не уверен, что следующий шаг.
Еще раз спасибо!
Понял, спасибо! –
Если я правильно понимаю, государства могут иметь неограниченное количество «плохих» и «товаров», верно? Поскольку у меня нет доступа к вашим данным, я могу проверить идею, что у меня есть, поэтому, вероятно, это будет не так, но попробуйте 'df.groupby (« astatus »). Apply ((lambda x: (sum (x == 'хорошо')/сумма (х == "плохо")))) '. Если вы предоставите небольшой набор данных, я дам ему еще одну попытку. – userE