为什么我的数据透视表的值是偏移的?

时间:2019-04-30 10:35:36

标签: python pandas pivot-table

在这种情况下,我不明白为什么值会在数据透视表中切换。计数与我在pd.cut()中设置的标签数不符。

df
    A   B
0  12  75
1  76  34
2  42  62
3  19  15
df['Cat'] = pd.cut(df2['B'], bins=[0, 25, 50, 75, 100], labels=['C1', 'C2', 'C3', 'C4'])
df
    A   B Cat
0  12  75  C3
1  76  34  C2
2  42  62  C3
3  19  15  C1
df.pivot_table(columns='Cat', aggfunc='count')
Cat  C3  C2  C1
A     1   1   2
B     1   1   2

我期望输出:

Cat  C3  C2  C1
A     2   1   1
B     2   1   1

1 个答案:

答案 0 :(得分:0)

在pandas 0.24.2版本中,它很好用,也添加了没有数据的列C4,因为是分类的:

df = df2.pivot_table(columns='Cat', aggfunc='count')
print (df)
Cat  C1  C2  C3  C4
A     1   1   2   0
B     1   1   2   0

替代解决方案:

df = df2.groupby('Cat').count().T
print (df)
Cat  C1  C2  C3  C4
A     1   1   2   0
B     1   1   2   0