DataFrame中Series的平均值

Muz*_*uzz 2 python arrays series pandas

我有一个看起来像这样的数据框:

values
[0.0,12.34,223.12,4.55,...]
[0.0,78.12,12.90,...]
.
.
. 
Run Code Online (Sandbox Code Playgroud)

我正在尝试计算值列的平均值并将该数字存储在新列中.

此时数据框只保留一列,并且值列中每个数组的长度不严格.

预期产量:

value                             average
[0.0,12.34,223.12,4.55,...]        77.87
[0.0,78.12,12.90,...]              12.11            
.
.
. 
Run Code Online (Sandbox Code Playgroud)

当我尝试使用iterrows()遍历数据帧时,Np.mean()将无法工作.

基本上我需要扩展下面的代码来计算数据帧中的所有平均值:

np.mean(df_average_pace.paces[0])
Run Code Online (Sandbox Code Playgroud)

jpp*_*jpp 5

你有一系列的清单.这意味着矢量化是不可能的.您可以通过pd.Series.map(或等效地apply)使用Python级循环,并且statistics.mean:

from statistics import mean
df['average'] = df['value'].map(mean)
Run Code Online (Sandbox Code Playgroud)

这是一个演示:

from statistics import mean
df = pd.DataFrame({'value': [[1, 4, 1, 2], [2, 4, 6], [9, 2, 5]]})
df['average'] = df['value'].map(mean)

print(df)

          value   average
0  [1, 4, 1, 2]  2.000000
1     [2, 4, 6]  4.000000
2     [9, 2, 5]  5.333333
Run Code Online (Sandbox Code Playgroud)