Я, должно быть, ослеп.
Я хочу подвести некоторые цифры из таблицы. Как по моей идее, два следующих кода должны давать одинаковый вывод, но они этого не делают:
У меня есть простой DF:
df[["Opportunity Group", "enjeu", "Montant"]].sample(10)
, что дает мне:
![enter image description here](https://i.stack.imgur.com/qo6qa.png)
Теперь для каждого клиента я хочу получить общую сумму df:
tab = df.pivot_table(index = "Opportunity Group",
columns = "enjeu" ,
values = "Montant" ,
margins = False ,
aggfunc = np.sum ).fillna(0)
tab
Что дает мне:
но цифры неверны, и если я сделаю следующее:
df[df["Opportunity Group"]=="NUTANIX"].groupby("enjeu")["Montant"].sum()
Я не получаю те же цифры:
enjeu
(-1.0, 100.0] 0.00
(100.0, 200.0] 0.00
(200.0, 500.0] 0.00
(500.0, 1000.0] 0.00
(1000.0, 5000.0] 4208.64
(5000.0, 20000.0] 34393.65
(20000.0, 50000.0] 422983.67
Почему нет:
tab = df.pivot_table(index = "Opportunity Group",
columns = "enjeu" ,
values = "Montant" ,
margins = False ,
aggfunc = np.sum ).fillna(0)
эквивалент конкретного запроса по группе, как для NUTANIX:
df[df["Opportunity Group"]=="NUTANIX"].groupby("enjeu")["Montant"].sum()
??
EDIT
столбец "enjeu" получает путаницу в сводной таблице
До :
После :
![enter image description here](https://i.stack.imgur.com/A8KQZ.png)