python - DataFrame 中包含的序列的平均值

标签 python pandas dataframe mean series

以下 DataFrame (df) 有 3 列:EventCountsLength,其中 Counts 列包含一系列数字。我想估计每个 Counts 行的平均值并将其显示在第四行上。

df = 
Event                                                 Counts Length  
0     [111240.0, 110530.0, 108540.0, 108540.0, 10838...       5                                                      
7     [117240.0, 119160.0, 120160.0, 121950.0, 12195...       6
13    [180420.0, 180420.0, 183840.0, 183840.0, 18384...       6
16    [160260.0, 159430.0, 159430.0, 157720.0, 15955...      14

我测试了以下表达式,但没有成功。

 df['mean'] = df['counts'].mean(axis = 1) 

以及基于此行的其他变体。

如果我理解正确的话,问题是由于 Count 列包含多个元素这一事实造成的。

感谢您对这个看似简单的问题的帮助。

最佳答案

假设它们的长度相同,您可以使用 Numpy

df['Mean'] = np.mean(df['Counts'].tolist(), axis=1)
df

   Event                                           Counts  Length      Mean
0      0  [111240.0, 110530.0, 108540.0, 108540.0, 10838]       5   89937.6
1      7  [117240.0, 119160.0, 120160.0, 121950.0, 12195]       6   98141.0
2     13  [180420.0, 180420.0, 183840.0, 183840.0, 18384]       6  149380.8
3     16  [160260.0, 159430.0, 159430.0, 157720.0, 15955]      14  130559.0

否则

df['Mean'] = df['Counts'].apply(np.mean)
df

   Event                                           Counts  Length      Mean
0      0  [111240.0, 110530.0, 108540.0, 108540.0, 10838]       5   89937.6
1      7  [117240.0, 119160.0, 120160.0, 121950.0, 12195]       6   98141.0
2     13  [180420.0, 180420.0, 183840.0, 183840.0, 18384]       6  149380.8
3     16  [160260.0, 159430.0, 159430.0, 157720.0, 15955]      14  130559.0

关于python - DataFrame 中包含的序列的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48871018/

相关文章:

python - 如何按时间戳对数据帧进行排序

python - 验证数据框列数据

python - 源模型更改后更新 QFilterProxyModel

python - 在windows上使用linux cookies时的解密问题

python - 如何仅转置数据框的一部分或交换行和列?

Python - 如何将列映射到字母序列?

python - 根据另一列的排序,使用 pandas GroupBy 连接字符串

r - 使用 R 组合所有行对

python - 获取此 POST 方法 json API 结果的正确方法是什么?

python - 为什么 Python 允许您从函数内部将局部变量实例化为全局变量?