我有这两个功能:
def groupByTwoParaCounter(dfName,grpByCol,paraCol1):
print dfName[grpByCol].groupby([dfName[paraCol1],dfName[grpByCol]]).count()
def groupByThreeParaCounter(dfName,grpByCol,paraCol1,paraCol2):
print dfName[grpByCol].groupby([dfName[paraCol1],dfName[paraCol2],dfName[grpByCol]]).count()
以下是一些示例数据:
Doc_ID Batch_Num Lot_Num Clinic_ID Owner_ID Patient_Age
e14231 12345 NA u2y5142 mys71262 29
我想将它们组合成一个单独的功能。这就是我要找的东西:
答案 0 :(得分:0)
这可以让你得到你想要的东西:
def groupByCounter(dfName, grpByCol, *args):
items = []
for arg in args:
items.append(dfName[arg])
items.append(dfName[grpByCol])
print dfName[grpByCol].groupby(items).count()
它使用*,python的参数解包运算符,它解压缩可变数量的参数。