鑑於以下(完全矯枉過正)數據幀例如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