Как подсчитать появление значения в кадре данных?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как подсчитать появление значения в кадре данных?

Сообщение Anonymous »

У меня есть фрейм данных [df], который выглядит так, но намного длиннее:

Код: Выделить всё

title of the novel                author          publishing year   mentionned cities
0   Beasts and creatures        Bruno Ivory             2021           New York
0   Monsters                    Renata Mcniar           2023           New York
0   At risk                     Charles Dobi            2020           London
0   Manuela and Ricardo         Lucas Zacci             2022           Rio de Janeiro
0   War against the machine     Angelina Trotter        1999           Rio de Janeiro
Я хотел бы добавить еще один столбец с целью подсчета всех вхождений городов. Проблема в том, что я хочу сохранить год этого события, поскольку работаю с историей. Другими словами, мне важно знать, когда был упомянут город.
Ожидаемый результат будет выглядеть так:

Код: Выделить всё

title of the novel     author    publishing year    mentionned cities       Counter
0   Beasts and creatures        Bruno Ivory             2021           New York   1
0   Monsters                    Renata Mcniar           2022           New York   2
0   At risk                     Charles Dobi            2020           London     1
0   Manuela and Ricardo         Lucas Zacci             2022           Rio de Janeiro 1
0   War against the machine     Angelina Trotter        1999           Rio de Janeiro 2
Пока мне удалось посчитать все случаи, но я не смог связать их с годами публикации. Код, который я использую:

Код: Выделить всё

df ['New York'] = df.eq('New York').sum().to_frame().T
Может кто-нибудь мне помочь, пожалуйста?
edit:
Я попробовал объединить два фрейма данных и получил что-то интересное, но не то, что мне действительно хотелось. Проблема в том, что год публикации не выдерживается.

Код: Выделить всё

    d[f'counter'] = d.fgroupby('mentionned cities')['mentionned cities'].transform('counter')

result = pd.concat([df['New York'], df], axis=1, join='inner')
display(result)
Выход:

Код: Выделить всё

title of the novel     author    publishing year    mentionned cities       Counter
0   Beasts and creatures        Bruno Ivory             2021           New York   2
0   Monsters                    Renata Mcniar           2023           New York   2
0   At risk                     Charles Dobi            2020           London     1
0   Manuela and Ricardo         Lucas Zacci             2022           Rio de Janeiro 1
0   War against the machine     Angelina Trotter        1999           Rio de Janeiro 2
Проблема все еще сохраняется

Подробнее здесь: https://stackoverflow.com/questions/729 ... data-frame
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»