鉴于以下(完全矫枉过正)数据帧例如Python的熊猫:同一列
df = pandas.DataFrame({
"date":[datetime.date(2012,x,1) for x in range(1,11)],
"returns":0.05*np.random.randn(10),
"dummy":np.repeat(1,10)
})
的多个聚合是有应用两个不同的凝聚功能,以相同的列中的现有内置方式,而不必多次拨打agg
?
的语法错误,但直觉正确的,这样做将是:
# Assume `function1` and `function2` are defined for aggregating.
df.groupby("dummy").agg({"returns":function1, "returns":function2})
显然,Python中不允许重复键。有没有其他方式来表达对agg
的输入?也许元组列表[(column, function)]
会更好,允许多个函数应用于同一列?但它似乎只接受字典。
是否有此规定之外,仅仅适用于两种功能的它内部的辅助功能解决方法? (如何将与聚集这项工作呢?)
有没有办法指定结果列名? – Ben
@Ben我认为你必须在之后使用重命名。 [由汤姆奥格斯珀格(见细胞25)示例](http://nbviewer.ipython.org/gist/TomAugspurger/6e052140eaa5fdb6e8c0) –
@Ben:我添加的例子此昨天 – bmu