如何在Python中用Pivottable.js的pivot_ui对求和值排序?附示例
如何用Pivottable.js对求和值进行升序/降序排序(附Python示例)
在Python中使用Pivottable.js时,对求和值的排序主要通过行/列排序参数控制,配合指定求和聚合方式即可实现。
核心参数说明
控制排序的关键参数是rowOrder(行维度排序)和colOrder(列维度排序),针对聚合值的排序可选值:
value_a_to_z:按求和结果升序排列value_z_to_a:按求和结果降序排列
需通过aggregatorName="Sum"明确指定聚合方式为求和,排序方向不需要写在聚合参数里。
修正后的Python示例代码
from pivottablejs import pivot_ui import pandas as pd # 假设struct_mto是目标DataFrame,structConfig是配置字典 pivot_ui( # 筛选需用到的列 struct_mto[[ structConfig['MR Category'].iloc[0], structConfig['TotalUSD'].iloc[0], structConfig['Qty'].iloc[0], structConfig['WeightKg'].iloc[0], 'MTO Revision' ]], rows=[structConfig['MR Category'].iloc[0]], # 设置行分组维度 rowOrder="value_z_to_a", # 按求和值降序排列行 cols=['MTO Revision'], # 设置列分组维度 outfile_path=chartFile, # 输出的HTML报表路径 aggregatorName="Sum", # 指定聚合方式为求和 vals=[structConfig['TotalUSD'].iloc[0]], # 要计算求和的数值列 rendererName="Horizontal Stacked Bar Chart" # 选择可视化图表类型 )
切换排序方向
如果需要改为升序排序,只需将rowOrder的值修改为"value_a_to_z"即可。
内容的提问来源于stack exchange,提问作者Panda
相关产品推荐
相关产品推荐

