У меня есть фрейм данных с двумя столбцами «авторы» и их «ранги». Мне нужно рассчитать общий рейтинг каждого уникального автора. Всего насчитывается 2,3 миллиона уникальных авторов, а размер моего текущего фрейма данных - 13248457,2.
Мое текущее решение выполняется очень долго, и я верю, что словари ускорят процесс, но я не знаю, как использовать словари.
следующий код - это то, как я пытался решить эту проблему, но выполнение займет несколько часов.
for auth in unique_auth:
unique_auth_ranks.append(np.sum(list((df[df.authors == auth ])['rank'])))
если я могу установить unique_authors в качестве ключей к словарю и суммировать их ранги, это может работать быстрее, но я никогда раньше не использовал словари в python.
ранги являются числовыми значениями, например, автор "abc" встречается 3 раза с рангами "1", "3" и "5". Я хочу, чтобы конечный результат был "abc": "9"