#pandas #counting
#pandas #подсчет
Вопрос:
У меня есть фрейм данных, который содержит несколько человек, которые представили проекты. Имена людей встречаются в DF несколько раз. Один столбец содержит информацию о годе, в котором каждый пользователь запустил проект: я хотел бы создать новый столбец под названием «предыдущие проекты», который содержит в любой момент времени количество проектов, которые ранее отправил пользователь. Вот обзор DF (я уже отсортировал его по годам): df1.
Я попытался запустить следующий код:
df = pd.read_excel('Cartel3.xlsx')
df1 = df.sort_values(by=['Year'], ascending=True)
df1
creatorlist = []
df1['previous_projects']=""
for row in df1.itertuples():
creatorlist.append(row.Creator)
if creatorlist.count(row.Creator) > 0:
df1['previous_projects']= creatorlist.count(row.Creator)
df1
Я думаю, проблема в том, что с помощью цикла for все имена автоматически добавляются в список, поэтому, когда я запускаю list.count() , я получаю общее количество вхождений имени независимо от его времени.
Надеюсь, все понятно, заранее спасибо
Комментарии:
1. Может
df1['prev_project'] = df1.groupby('Creator').cumcount()
быть . Вы должны включать свои данные в виде текста, а не изображений.2. Большое спасибо! Вы решили мою проблему! Я новичок в Stack, поэтому извините, если я неправильно загрузил изображение. Большое вам спасибо!