我一定变得盲目了。 我想总结一下表格中的一些数字。按照我的想法,以下两个代码必须提供相同的输出,但它们却没有: 我有一个简单的df:
df[["Opportunity Group", "enjeu", "Montant"]].sample(10)
现在,对于每个客户,我需要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()
??