按熊猫数据透视表分组时,我遇到了一些麻烦。我有一个数据集,我正在提取它的两个子集。 这是我创建子集的方式以及它们的外观
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
显示出奇怪的结果,因此我尝试计算sum
和count
。
答案 0 :(得分:1)
{{1}}
使用numpy sum和numpy mean来计算总和和均值。