У меня есть кадр данных, который выглядит следующим образом:Подсчет категорична панды данных группы по dataframe
+---+-----------+----------------+-------+
| | uid | msg | count |
+---+-----------+----------------+-------+
| 0 | 121437681 | eis | 1 |
| 1 | 14403832 | eis | 1 |
| 2 | 190442364 | eis | 1 |
| 3 | 190102625 | eis | 1 |
| 4 | 190428772 | eis_reply | 1 |
| 5 | 190428772 | single_message | 1 |
| 6 | 190428772 | yes | 1 |
| 7 | 190104837 | eis | 1 |
| 8 | 144969454 | eis | 1 |
| 9 | 190738403 | eis | 1 |
+---+-----------+----------------+-------+
То, что я хотел бы сделать, это подсчет экземпляров каждого msg
для каждой жидкости.
Я создал GroupBy объект и нашел количество всех сообщений:
grouped_test = test.groupby('uid')
grouped_test.count('msg')
Но я не совсем уверен, как считать каждый тип сообщения для каждого из жидкости. Я думал о создании масок и 4 отдельных кадрах данных, но это не похоже на эффективный способ сделать это.
Пример данных - http://www.sharecsv.com/s/16573757eb123c5b15cae4edcb7296e3/sample_data.csv
Пожалуйста, разместите свои данные образца в формате, который легко вырезать-и-pastable в pandas (в идеале формат CSV). – BrenBarn
Насколько велики ваши данные? – Leb
@ Leb около 10 000 строк, Есть 237 сгруппированных uids, хотя – metersk