DataFrame 中系列的平均值

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


values

[0.0,12.34,223.12,4.55,...]

[0.0,78.12,12.90,...]

.

.

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


数据框目前只包含一列,值列中每个数组的长度并不严格。


预期输出:


value                             average

[0.0,12.34,223.12,4.55,...]        77.87

[0.0,78.12,12.90,...]              12.11            

.

.

当我尝试使用 iterrows() 遍历数据帧时,Np.mean() 将不起作用。


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


np.mean(df_average_pace.paces[0])


呼唤远方
浏览 557回答 2
2回答

aluckdog

您有一系列列表。这意味着矢量化是不可能的。您可以通过pd.Series.map(或等效地,apply)和使用 Python 级循环statistics.mean:from statistics import meandf['average'] = df['value'].map(mean)这是一个演示:from statistics import meandf = pd.DataFrame({'value': [[1, 4, 1, 2], [2, 4, 6], [9, 2, 5]]})df['average'] = df['value'].map(mean)print(df)          value   average0  [1, 4, 1, 2]  2.0000001     [2, 4, 6]  4.0000002     [9, 2, 5]  5.333333

慕慕森

使用pd.DataFrame(df.value.tolist()).mean(1)Out[541]: 0    2.0000001    4.0000002    5.333333dtype: float64
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python