熊猫数据透视表奇怪的结果

时间:2019-01-10 11:08:44

标签: pandas pivot-table pandas-groupby

按熊猫数据透视表分组时,我遇到了一些麻烦。我有一个数据集,我正在提取它的两个子集。 这是我创建子集的方式以及它们的外观

df3= df2.head(170).tail()
df3
    cuts    delta_2 tag
165 (360, 2000] 426.0   0.0
166 (360, 2000] 426.0   0.0
167 (360, 2000] 426.0   0.0
168 (360, 2000] 426.0   0.0
169 NaN NaN 0.0

df4= (df2.head(171)).tail()
df4    
    cuts    delta_2 tag
166 (360, 2000] 426.0   0.0
167 (360, 2000] 426.0   0.0
168 (360, 2000] 426.0   0.0
169 NaN NaN 0.0
170 (180, 360]  183.0   0.0

现在,我只是尝试使用数据透视表对它们进行分组,但结果却很奇怪:

df3.pivot_table(values = 'tag', index= 'cuts', aggfunc=['sum', 'count'],dropna=True).sort_values('cuts')
    sum count
    tag tag
cuts        
NaN 0.0 0
(360, 2000] 0.0 4

上面的内容似乎没有为NaN类别计算任何内容。但是随之而来的问题变得更大

df4.pivot_table(values = 'tag', index= 'cuts', aggfunc=['sum', 'count'],dropna=True).sort_values('cuts')
    sum count
    tag tag
cuts        
NaN 0.0 3
(180, 360]  0.0 0
(360, 2000] 0.0 1

这里的计数真的很奇怪。我不知道为什么。变量Cuts是使用变量pd.cut上的delta_2函数创建的。我的目标只是获得mean,但是由于mean显示出奇怪的结果,因此我尝试计算sumcount

1 个答案:

答案 0 :(得分:1)

{{1}}

使用numpy sum和numpy mean来计算总和和均值。