【问题标题】:python pandas add arguments to functionpython pandas为函数添加参数
【发布时间】:2017-10-19 16:14:05
【问题描述】:

我想做一个 pivot_table,但在某些情况下我必须添加边距, 所以我的代码看起来像

if ytd:
    datak = direct.pivot_table(index='Code', columns='Period',
                               values=agg, aggfunc=sum,
                               margins=True,
                               margins_name='Year to date')
else:
    datak = direct.pivot_table(index='Code', columns='Period',
                               values=agg, aggfunc=sum)

所以我真正想做的是从类似的东西开始

exp = (index='Code', columns='Period', values=agg, aggfunc=sum)

marg = (margins=True, margins_name='年初至今')

最后

datak = direct.pivot_table(exp + marg) if ytd else direct.pivot_table(exp)

【问题讨论】:

    标签: python pandas pivot-table


    【解决方案1】:

    试试这个:

    datak = direct.pivot_table(index='Code', columns='Period',
                               values=agg, aggfunc=sum,
                               margins=True if ytd else False,
                               margins_name='Year to date' if ytd else 'All')
    

    【讨论】:

      【解决方案2】:

      也许是eval:

      exp = 'direct.pivot_table(index=\'Code\', columns=\'Period\', values=agg, aggfunc=sum'
      
      marg = 'margins=True, margins_name=\'Year to date\')'
      
      datak = eval(exp + ', ' + marg) if ytd is not None else eval(exp + ')')
      

      【讨论】:

        猜你喜欢
        • 2018-12-25
        • 2022-01-22
        • 1970-01-01
        • 1970-01-01
        • 2013-07-18
        • 2017-05-21
        • 2023-02-01
        • 1970-01-01
        • 2023-04-06
        相关资源
        最近更新 更多