我的交叉表的一部分,我想出了如何重新排序索引,但现在我不知道如何格式化我的交叉表输出以将数据显示到第二个。小数点。
我开始使用此代码
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%
有关如何格式化数据的任何想法? 再次感谢。
答案 0 :(得分:1)
你可以做到
pd.options.display.float_format = '{:.2f}%'.format
然后,如果你显示数据帧,它将只有小数点后的两位数,带有%符号。
答案 1 :(得分:0)
你的lambda是主要的工作,因此我做了一些改变
,