2015-05-12 97 views
3

我有一個熊貓數據框,df,其中包含列,其中每行包含大小不等的numpy數組。pandas:計算列中每行的numpy數組的均值

column A 
0 np.array([1,2,3]) 
1 np.array([1,2,3,4]) 
2 np.array([1,2]) 

我有一個內置的熊貓函數,將返回每列的平均值,即行,爲整個列?類似於:

df.A.mean() 

但是在每一行上操作。謝謝你的幫助。

回答

4

您可以使用df.<column>.map在列函數應用到每一個元素:

df = pd.DataFrame({'a': 
    [np.array([1, 2, 3]), 
    np.array([4, 5, 6, 7]), 
    np.array([7, 8])] 
}) 

df 
Out[8]: 
       a 
0  [1, 2, 3] 
1 [4, 5, 6, 7] 
2  [7, 8] 

df['a'].map(lambda x: x.mean()) 
Out[9]: 
0 2.0 
1 5.5 
2 7.5 
Name: a, dtype: float64 
+0

大。非常感謝。 – Neili