【发布时间】:2023-03-20 11:31:01
【问题描述】:
不确定是否可行,但如果我可以将百分比格式应用于pd.crosstab() 生成的单元格,那会很好,因为我正在使用normalize='columns' 选项。
它们是百分比结果,因此显示为百分比会很好。
可以吗?
或者也许存在不同的交叉表函数可以完成它?
我到处搜索,但找不到任何东西,但这并不意味着它不可能(也许!)
非常感谢。
【问题讨论】:
标签: python pandas format crosstab
不确定是否可行,但如果我可以将百分比格式应用于pd.crosstab() 生成的单元格,那会很好,因为我正在使用normalize='columns' 选项。
它们是百分比结果,因此显示为百分比会很好。
可以吗?
或者也许存在不同的交叉表函数可以完成它?
我到处搜索,但找不到任何东西,但这并不意味着它不可能(也许!)
非常感谢。
【问题讨论】:
标签: python pandas format crosstab
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%
【讨论】: