2013-07-12 80 views
1

我有一個數據幀df,與lonlatlabel相當於大熊貓的功能,以該R聚集

我想執行該R聚集相當於:

mean_labels <- aggregate(cbind(lon, lat) ~ label, data=df, FUN=mean) 

但它顯著太不可思議爲了我。至於我可以告訴大家,它的計算latlon值的平均值爲每組label值的DF

不過,我不知道如何使用熊貓數據幀來實現這一目標。我可以很容易地按label進行分組,但我不知道如何計算每個組內的均值lonlat值。

回答

3

認爲這是一樣的做GROUPBY標籤然後通過平均聚合:

g = df.groupby('label') 

mean_labels = g[['lon', 'lat']].mean() 

也就是說,對於每一個標籤,你拿LON和LAT的平均值。
(...這似乎是一個合理的事情)

+0

我認爲你可以直接調用'GroupBy'對象的'mean',並且它會比將'np.mean'傳遞到'agg'更快。並且將處理'NaN'值,除非該函數的名稱映射到一個瓶頸或numpy nan函數 –

+0

@cpcloud好點!我想每個人都會同意熊貓的語法更好...... :) –