Python:使用变量作为函数nam

2024-09-28 22:25:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我的目标是在这个语句中创建一个函数包装器:

import pandas as pd
import numpy as np
MonthNumber = np.array([1,1,2,4,5,6,5])
Data = np.array([1.1,3,.52,34,15,45,34])
Data2 = Data * 1.1
Data3 = Data * 2 
df = pd.DataFrame({'Month':MonthNumber, 'Data':Data})
Summary = pd.pivot_table(df,index=['Month'],values='Data'],aggfunc=[np.sum,np.var])

这样包装器函数看起来像:

^{pr2}$

**kwargs将包含任何数量的参数,如我要提供的平均值、长度、方差

我还希望能够提供任意数量的数组,比如Data2,Data3,而不是像示例中所示的两个数组。在

如何实现向“SummaryFunction”提供可变数量的数组,以及要计算的参数的可变数量。在


Tags: 函数importdfdata参数数量asnp
1条回答
网友
1楼 · 发布于 2024-09-28 22:25:50

不清楚您的输入是什么,但是在Python中函数是first-class objects,可以作为函数参数传递。在

使用*args的示例实现可能如下所示:

def summarywrapper(MonthNumber, Data, *args):
   df = pd.DataFrame({'Month':MonthNumber, 'Data':Data})
   Summary = pd.pivot_table(df,index=['Month'],values='Data'],aggfunc=args)
   return Summary

使用示例:

^{pr2}$

在这里,函数本身作为variadic arguments传递。在

相关问题 更多 >