Как добавить столбец pandas в соответствии с условием?

#python #pandas

#python #pandas

Вопрос:

У меня есть этот pandas df

     Area    Element Code    Element Code    Item YCode  Year    Value   Type
39  India   5312    Area  harvested 125 Cassava  2000   2000    27179.0 food
40  India   5312    Area  harvested 125 Cassava  2001   2001    27794.0 food
41  India   5312    Area  harvested 125 Cassava  2002   2002    21408.0 food
42  India   5312    Area  harvested 125 Cassava  2003   2003    36061.0 food
43  India   5312    Area  harvested 125 Cassava  2004   2004    59585.0 food
... ... ... ... ... ... ... ... ... ...
1071  India 5510    Production  567 Watermelons 2014    2014    229267.0 food
1072  India 5510    Production  567 Watermelons 2015    2015    270686.0 food
1073  India 5510    Production  567 Watermelons 2016    2016    258691.0 food
1074  India 5510    Production  567 Watermelons 2017    2017    243203.0 food
1075  India 5510    Production  567 Watermelons 2018    2018    239896.0 food
 

Я хочу получить новый столбец, содержащий сумму каждого элемента, например, маниоки, арбуза за соответствующий год.
то есть, если год 2001, сумма стоимости каждого урожая
, то на следующий год.

Я буду благодарен, если кто-нибудь подаст идею

Комментарии:

1. группировка по году и сумме

Ответ №1:

Вы можете просто сделать:

 df['new_col'] = df.groupby('year')['item'].transform('sum')
 

должно дать вам то, что вам нужно.