python中的自定义pivot_ui聚合器?

Posted

技术标签:

【中文标题】python中的自定义pivot_ui聚合器?【英文标题】:Custom pivot_ui aggregator in python? 【发布时间】:2021-12-08 18:01:53 【问题描述】:

有没有办法在 python 中为 pivot_ui 创建自定义聚合器? 我想做加权平均并向用户隐藏计算/字段映射的详细信息,并且只在自定义聚合器下拉列表中提供有意义的标签。自定义聚合器的所有示例都在 javascript 中。有没有办法在 python/jupyter 中做到这一点?

例如。在javascript中:(来自视图源:http://horner.github.io/pivottable/examples/montreal_2014.html

    $(function () 
        var tpl =              $.pivotUtilities.aggregatorTemplates;
        $.get("montreal_2014.csv", function(montreal_2014) 
            $("#output").pivotUI($.csv.toArrays(montreal_2014), 
                aggregators: 
                    "Mean Temp (Celcius)":  
                        function()  return tpl.average()(["Mean Temp (C)"]),

在python中:

from pivottablejs import pivot_ui
pivot_ui( df, rows=["day"], aggregators= ?? )

如何在 jupyter notebook 中定义和传递 javascript 函数 obj?我可以以某种方式在不同的单元格中用 %%javascript 定义它并在 python 中引用吗?或者 streamlit.components.v1 中有什么魔法可以做到这一点?

谢谢

【问题讨论】:

您可能想提供一些代码和诚实的尝试。干杯。 【参考方案1】:

查看Pythonpivottablejs 库,看起来它们返回了IFrame。你可以试试components.html 形成Streamlit

import streamlit as st
import streamlit.components.v1 as components
from pivottablejs import pivot_ui
import pandas as pd


t = pivot_ui(df)

with open(t.src) as t:
    components.html(t.read(), width=900, height=1000, scrolling=True)

【讨论】:

以上是关于python中的自定义pivot_ui聚合器?的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Core 3.1 中的 Ocelot API Gateway 自定义聚合器问题

Liferay 7 - 博客聚合器的自定义样式

python自定义聚合函数,merge与transform的区别

Spark(十八)SparkSQL的自定义函数UDF

SqlServer如何用Sql语句自定义聚合函数

百度地图聚合功能自定义聚合文字