我打在熊貓的角落案件。我正在嘗試使用agg fn,但沒有進行groupby。說我想對整個dataframe
聚集,即如何在Pandas的一組空白列上做groupby?
from pandas import *
DF = DataFrame(randn(5,3), index = list("ABCDE"), columns = list("abc"))
DF.groupby([]).agg({'a' : np.sum, 'b' : np.mean }) # <--- does not work
而且DF.agg({'a' ... })
也不起作用。
我的解決方法是做DF['Total'] = 'Total'
然後做一個DF.groupby(['Total'])
但這似乎有點人爲。
有沒有人有更清潔的解決方案?
酷@Wes麥金尼 - 或許你也可以讓DF.groupby([])返回DF? Thx – joelhoro 2012-07-15 21:00:10
我還注意到,對於某些函數,如'np.std',這會產生一個錯誤:'IndexError:0-d數組不能被索引。它似乎窒息了熊貓系列的額外結構。如果使用'lambda x:np.std(x.values)'作爲傳入函數,則會修復它。但似乎這應該是熊貓的責任。也許嘗試趕上某種事情,如果不工作,那麼也可以嘗試在放棄之前將其應用於column.values?避免這種情況可能有很好的理由;只是一個建議。 – ely 2012-07-15 22:38:59
@EMS你能報告一個重現你所看到的問題嗎? – 2012-07-16 16:33:36