Результат value_counts - разбить его на дополнительный столбец? - PullRequest
0 голосов
/ 15 октября 2019

value_counts не позволяет мне дополнительно разбить его на дополнительный столбец. По сути, я пытаюсь воссоздать что-то подобное в пандах:

https://imgur.com/WruS8J0

Данные здесь https://data.seattle.gov/Community/Seattle-Pet-Licenses/jguv-t9rb

Радидля простоты, на данный момент я просто хочу разбить данные на 3 столбца: Имя, Кошка (количество имен), Собака (количество имен).

Я искал вокруг и пробовал групповые иpivot_tables, но не думаю, что я понимаю это достаточно.

То, что я пробовал:

`animal_names.groupby(['animals_name', 
'species']).size().sort_values(ascending=False)`

, что возвращает:

`animals_name                    species
Lucy                            Dog        335
Charlie                         Dog        306
Bella                           Dog        248
Luna                            Dog        242
Daisy                           Dog        217
                                          ... 
Mossi                           Dog          1
Mosses                          Dog          1
Mossberg                        Dog          1
Moska                           Dog          1
"Luci" Lucia Rosalin Wicksugal  Dog          1
Length: 16749, dtype: int64`

, и я пробовал:

`animal_names.pivot_table(
    index=['animals_name', 'species'],
    values='primary_breed',
    aggfunc='count')
`

Что неНе возвращайте желаемое либо.

Есть ли способ сделать что-то простое, например dataframe['animals_name'].value_counts(), а затем разделить результат на другой столбец (в данном случае, виды)?

Ответы [ 2 ]

0 голосов
/ 15 октября 2019

Пожалуйста, попробуйте следующее:

df = pd.pivot_table(data1,index="Animal's Name",columns = "Species",aggfunc = np.count_nonzero)

Здесь data1 содержит два столбца, Название и вид животного.

В выходных данных будет отображаться имя и количество соответствующих видов.

Будут значения NAN, и вы можете заменить их на ноль.

0 голосов
/ 15 октября 2019

Вы близки.


df=animal_names.pivot_table( index='animals_name', columns='species', aggfunc='count')

Значения необязательны, чтобы помочь вам вспомнить, как работает сводная таблица, посмотрите на финальные таблицы.

  • Какие элементы находятся на первомстолбец? Это ваш индекс, так что здесь это animal_name.
  • Что такое имена столбцов? Каждый вид.
  • Значения просто выводятся из этого вышеупомянутыми параметрами, поэтому он является необязательным
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...