Как узнать частоту появления авторов и построить график с помощью Python?

Здесь ABC news наблюдается 5 раз, но столбец Times отражает его как 1 для каждой строки. Ожидаемый результат - ABC news по одному разу в каждой строке, но общее количество в Times равно 5, поскольку ABC опубликовала в целом 5 наименований.

Таким образом, при нанесении Author на ось X, а связанный Times, который был опубликован, находится на оси Y.

Код для приведенного ниже фрейма данных, который необходимо изменить, как указано выше:

a=df1.groupby(['author','title'])['title'].count().reset_index(name = "Time")
a.head()



    author                    title                               Time
0   ABC News    WATCH: How to get the most bang for your buck ...   1
1   ABC News    WATCH: Man who confessed to killing wife, chil...   1
2   ABC News    WATCH: Nearly 1,000 still missing 11 days afte...   1
3   ABC News    WATCH: Teen hockey player skates after brain i...   1
4   ABC News    WATCH: Trump: Will not do in-person interview ...   1
5   Ali Dukakis and Mike Levine     Mueller  'has no eff...         1
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
88
2

Ответы 2

Следующие будут постоянно обновлять ваш столбец Times соответствующими номерами. Вы можете объявить цикл внутри функции для повторного использования позже.

import pandas as pd

df = pd.DataFrame( data=[['ABC News','WATCH: How to get the most bang for your buck...','1'], ['ABC News','WATCH: Man who confessed to killing wife, chil...','1'], ['ABC News','WATCH: Nearly 1,000 still missing 11 days afte...','1'], ['ABC News','WATCH: Teen hockey player skates after brain i...','1'], ['ABC News','WATCH: Trump: Will not do in-person interview ...','1'], ['Ali Dukakis and Mike Levine',"Mueller  'has no eff...",'1'] ], columns=['author','title','Times'])

word_count = dict(df['author'].value_counts())
for i,v in df["author"].iteritems():
    if v in word_count.keys():
        df.loc[i, "Times"] = word_count[v]

print(df)

Это даст желаемый результат, например:

Я считаю, что сопоставление author с Times сейчас не должно быть проблемой. Пожалуйста, примите ответ, если он соответствует вашим требованиям, или сообщите мне, если это не сработает для вас.

Проблема в том, что вы группируете по «заголовку», когда, кажется, хотите сгруппировать только по «автору». Удалите заголовок из группы.

Другие вопросы по теме