2013-01-16 22 views
0

当我调用重命名一个数据透视表,我失去了轴标签:重命名大熊猫透视表不失轴标签

In [5]: df = pd.DataFrame(dict(x=[0,0,1,0,1], y=[1,0,1,1,0], z=[0,0,1,0,1])) 
In [6]: pt = pd.pivot_table(df, 'z', cols='x', rows='y') 
In [7]: print pt 
x 0 1 
y  
0 0 1 
1 0 1 
In [8]: labels = {0:'False', 1:'True'} 
In [9]: print pt.rename(index=labels, columns=labels) # discards "x" and "y" 
     False True 
False  0  1 
True  0  1 

有没有办法做到这一点不失轴标签?

+1

这不是理想的,但你可以做pt.column.name = 'X' 重命名后。看起来像保留轴标签的一个很好的增强。 – Zelazny7

+1

@ Zelazny7我不知道在重命名时应该保持轴标签的行为,尽管当传递带有*名称* x的系列时,我认为它应该给出标签x。 –

回答

1

当您pivot,x和y 的值是的标签,并且这是预期的行为。

试试这个:

df['x'] = df['x'] == 1 
pt = pandas.pivot_table(df, 'z', cols='x', rows='y') 
print pt 
x False True 
y    
0  0  1 
1  0  1