如何编辑Pivot Table输出并设置小数位数以完整查看Jupyter表格?
透视表输出编辑与小数位数设置方案
一、优化透视表生成代码
你当前的代码重复调用np.percentile过于冗余,可以用np.arange生成百分位数序列简化,同时注意将index参数改为实际字段名tipo_de_viaje:
import numpy as np import pandas as pd # 生成10到100步长为10的百分位数列表 percentiles = np.arange(10, 101, 10) pivot_df = df.pivot_table( values="ratio", index="tipo_de_viaje", aggfunc=lambda x: [np.percentile(x, p) for p in percentiles] ) # 给列命名为对应百分位数,提升可读性 pivot_df.columns = [f"{p}%" for p in percentiles]
二、解决小数位数显示不全问题
方法1:全局设置Pandas显示精度
通过设置全局显示选项,让所有Pandas输出都固定小数位数(以保留2位为例,可按需修改):
pd.set_option('display.float_format', '{:.2f}'.format)
设置后直接输出透视表,即可看到格式化后的结果。
方法2:单独格式化当前透视表
如果不想影响全局设置,仅对当前透视表做格式化:
# 方法A:用round函数直接修改数值 pivot_formatted = pivot_df.applymap(lambda x: round(x, 2)) display(pivot_formatted) # Jupyter中用display显示更美观 # 方法B:用style格式化(支持更丰富的样式) pivot_df.style.format("{:.2f}")
三、常用的透视表输出编辑操作
- 自定义列名:通过
pivot_df.columns = [...]为列设置更易读的名称 - 重置索引:用
pivot_df.reset_index()将行索引转为普通数据列 - 排序:按指定列排序,例如
pivot_df.sort_values(by="50%", ascending=False) - 筛选行:根据数值条件过滤,例如
pivot_df[pivot_df["50%"] > 0.5]
内容的提问来源于stack exchange,提问作者Diego Triviño
相关产品推荐
相关产品推荐

