熊猫:计算列中每一行的 numpy 数组的平均值

Nei*_*ili 5 python arrays numpy pandas

我有一个 Pandas 数据框df,其中包含每行包含不同大小的 numpy 数组的列,例如

   column A 
0  np.array([1,2,3])
1  np.array([1,2,3,4])
2  np.array([1,2])
Run Code Online (Sandbox Code Playgroud)

我有一个内置的熊猫函数,它将返回整个列的每个数组(即行)的平均值?就像是 :

df.A.mean()
Run Code Online (Sandbox Code Playgroud)

但是它对每一行进行操作。谢谢你的帮助。

Mar*_*ius 7

您可以使用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
Run Code Online (Sandbox Code Playgroud)