2015-05-12 62 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