У меня есть фрейм данных (data2), состоящий из заказов на продажу разных производителей со столбцом под названием 'num units sold_x'.
Если имя производителя существует в списке под названием Dataman:
Я хочу обновить значение «num units sold_x» в каждой строке, взяв сумму столбца в фрейме данных под названием «EQTUnit» для каждого конкретного производителя . Это нормально, если все строки для конкретного производителя имеют одно и то же поле «num units sold_x», поскольку это сумма «EQTUnit» для каждого производителя.
Я думаю, это звучит просто, но не кажется обдумываю эту проблему. Вот что у меня есть:
for index,row in data2.iterrows():
for x in dataman:
if data2.loc[index, 'EQTMan'] in dataman:
data2.loc[index, 'num units sold_x'] = data2[data2['EQTMan'] == x].EQTUnit.sum()
Вот некоторые примеры данных:
UCCStatus UCCDate EQTMan EQTUnit
0 SALE 5/20/2019 SPARTAN 1
1 SALE 5/28/2019 SPARTAN 2
2 SALE 5/29/2019 SPARTAN 1
3 SALE 5/25/2019 SPARTAN 1
4 TERMINATI 7/16/2019 JOHNSON 11
5 SALE 8/8/2019 SPARTAN 1
6 TERMINATI 9/17/2019 SPARTAN 1
7 SALE 8/16/2019 TITAN 2
8 SALE 8/5/2019 TITAN 2
9 SALE 8/5/2019 TITAN 2
В основном мне нужно часто обновлять поле 'num units sold_x', взяв сумму EQTUnit для каждого уникального производителя.
Ожидаемый результат:
UCCStatus UCCDate EQTMan EQTUnit num units sold_x
0 SALE 5/20/2019 SPARTAN 1 7
1 SALE 5/28/2019 SPARTAN 2 7
2 SALE 5/29/2019 SPARTAN 1 7
3 SALE 5/25/2019 SPARTAN 1 7
4 TERMINATI 7/16/2019 JOHNSON 11 11
5 SALE 8/8/2019 SPARTAN 1 7
6 TERMINATI 9/17/2019 SPARTAN 1 7
7 SALE 8/16/2019 TITAN 2
8 SALE 8/5/2019 TITAN 2
9 SALE 8/5/2019 TITAN 2