Python - Pandas crosstab() - 格式化单元格值?

Python - Pandas crosstab() - formatting cell values?

不确定是否可能,但如果我可以将百分比格式应用于由 pd.crosstab() 生成的单元格,那会很好,因为我正在使用 normalize='columns' 选项。
它们是百分比结果,因此显示为百分比会很好。

可以做到吗?

或者可能存在不同的交叉表功能可以完成?

我到处找了找也没找到,但这并不意味着不可能(也许吧!)
非常感谢。

pd.crosstab() 给你正确的结果。

foo = pd.Categorical(['a', 'b', 'a', 'a'], categories=['a', 'b', 'c'])
bar = pd.Categorical(['d', 'e', 'e', 'd'], categories=['d', 'e', 'f'])
result = pd.crosstab(foo, bar, normalize='columns')

如果你只想用百分比显示它们,你可以使用样式格式化程序:

result.style.format("{:.0%}")

哪个应该产生这个输出:

col_0   d       e
row_0        
a       100%    50%
b       0%      50%