可以用元编程的方法实现,例如下面定义了一个自定义函数:
def table_regroup(t, f, groupCol){
names = t.colNames()[t.colNames() != groupCol]
return sql(select=sqlCol(names, f), from=t, groupBy=sqlCol(groupCol), groupFlag=1).eval()
}
table_regroup(t, avg, "sym")
输出:
sym col1 col2 col3 col4 col5 col6 a 1 1 1 1 1 1 b 1.1 1.1 1.1 1.1 1.1 1.1 c 1.3 1.3 1.3 1.3 1.3 1.3