0

有没有办法在 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)"])},

在蟒蛇中:

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

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

谢谢

4

1 回答 1

0

看着pivottablejs图书馆Python,看起来他们返回了一个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)
于 2021-11-12T07:00:14.950 回答