如何编辑交叉表的输出以显示第二个小数点的百分比?

时间:2017-03-10 04:36:34

标签: python dataframe formatting percentage crosstab

我的交叉表的一部分,我想出了如何重新排序索引,但现在我不知道如何格式化我的交叉表输出以将数据显示到第二个。小数点。

我开始使用此代码

pd.crosstab(data['One'],data['two'], margins=True).apply(lambda r: r/len(data)*100,axis = 1)

输出看起来像这样

A          B         C       All
B    10.0000   40.0000   50.0000
C    40.0000   10.0000   50.0000
All  50.0000   50.0000   100.0000  

但我正在寻找像

这样的东西
A         B         C       All
B    10.00%    40.00%    50.00% 
C    40.00%    10.00%    50.00% 
All  50.00%    50.00%    100.00%   

有关如何格式化数据的任何想法? 再次感谢。

2 个答案:

答案 0 :(得分:1)

你可以做到

pd.options.display.float_format = '{:.2f}%'.format

然后,如果你显示数据帧,它将只有小数点后的两位数,带有%符号。

答案 1 :(得分:0)

你的lambda是主要的工作,因此我做了一些改变

,