Как создать новый столбец, суммировав значения из первого столбца по условию из второго?

Рейтинг: -1Ответов: 1Опубликовано: 12.07.2023

Прошу не кидаться камнями, я - только учусь) Есть датафрейм на основе csv, в который нужно добавить столбец с суммой чека, т.е. суммировать все значения sum по id, где sum - это стоимость товара, а id - идентификатор товара. Грубо говоря: как создать столбец, в котором суммировать значения из столбца sum, если id одинаковый?

id sum
235578624 118,46
235639412 75,28
235716906 195
235801993 57,84
235801993 300,43

Ответы

▲ 1Принят

Ладно, вот вам рабочий пример, хотя я все подсказки давал, можно было разобраться:

import pandas as pd
from io import StringIO

data = """
id  sum
235578624   118,46
235639412   75,28
235716906   195
235801993   57,84
235801993   300,43"""

df = pd.read_csv(StringIO(data), sep='\t', decimal=',')

# ниже собственно код группировки и добавления столбца
sumsum = df.groupby('id')['sum'].sum().to_dict()
df['sumsum'] = df['id'].map(sumsum)
df
index id sum sumsum
0 235578624 118.46 118.46
1 235639412 75.28 75.28
2 235716906 195.0 195.0
3 235801993 57.84 358.27
4 235801993 300.43 358.27