python - 如何设置转置 MultiIndex DataFrame 的样式
问题描述
我正在尝试格式化以下转置多索引数据帧:
0 1 2 3
B sum 22 22 0 0
d 0 0 -22 -22
d% 0 0 -1 -1
C sum 30 15 30 60
d 0 15 0 30
d% 0 -0.5 1
我想在二级索引以 结尾的行上应用 astyle.bar
和 a ,但我一生都无法弄清楚如何在 MultiIndex 数据帧中的行上应用。style.format("{:.2%}"
%
subset
我尝试过使用 IndexSlice,以及许多其他方法都无济于事。有没有办法做到这一点?
解决方案
经过一番玩耍,将元组传递给subset
作品:
rows = [idx for idx in df.index if idx[1][-1]=='%']
df.style.format("{:.2%}",subset=(rows,pd.IndexSlice[:]))
# equivalently
# df.style.format("{:.2%}",subset=(rows,df.columns))
输出:
0 1 2 3
B sum 0 1 2 3
d% 400.00% 500.00% 600.00% 700.00%
C sum 8 9 10 11
d% 1200.00% 1300.00% 1400.00% 1500.00%
推荐阅读
- android - 通知声音在本机 Firebase v6 中不起作用?
- php - 在电子邮件中获取自定义结帐字段 woocommerce
- mysql - 如何在 MySQL 中获取按字段分组的最大计数?
- python - 使用 DBSCAN 进行聚类:如果不预先设置聚类数,如何训练模型?
- python - 如何在嵌套语句中将某些内容定义为 true?
- excel - 保存后上次修改工作簿的时间戳(不是上次保存的时间)
- python - Python Dataframe:根据另一列更改列的值?
- c++ - 我如何知道何时找到子文件夹目录的末尾?C++
- c# - System.Windows.Markup.XamlParseException。在尝试编译 XAML 代码时,我在下面遇到了这个异常
- python - Pandas - 在 2 个不同级别执行 Groupby