Создайте поле, в котором суммируется все время, когда запись произошла до определенной строки

#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, поэтому извините, если я неправильно загрузил изображение. Большое вам спасибо!