python / pandas =数据透视表中的错误?

时间:2018-07-06 13:29:05

标签: python pandas

我一定变得盲目了。 我想总结一下表格中的一些数字。按照我的想法,以下两个代码必须提供相同的输出,但它们却没有: 我有一个简单的df:

df[["Opportunity Group", "enjeu", "Montant"]].sample(10)

这给了我: enter image description here

现在,对于每个客户,我需要df的总额:

tab = df.pivot_table(index    = "Opportunity Group",
                    columns  = "enjeu"            ,
                    values   = "Montant"          ,
                    margins  = False              ,
                    aggfunc  = np.sum             ).fillna(0)
tab

哪个给我: enter image description here 但是这些数字是错误的,如果我执行以下操作:

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()

??

编辑

数据透视表将列“ enjeu”弄混了 之前: enter image description here 之后: enter image description here

0 个答案:

没有答案