熊猫系列的平均值和标准偏差[英] Pandas series mean and standard deviation

本文是小编为大家收集整理的关于熊猫系列的平均值和标准偏差的处理方法,想解了熊猫系列的平均值和标准偏差的问题怎么解决?熊猫系列的平均值和标准偏差问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我有一个清单:

data = [
{'A': [2.0, 3.0, 4.0, 5.0, 6.0], 'B':[27.0, 28.0, 29.0, 30.0], 'C': ['lic1'],
 'D': ['soy1'], 'E': ['foo1']},
{'A': [7.0, 11.0, 90.0, 43.0, 87.0], 'B':[27.0, 28.0, 29.0, 30.0], 'C': ['lic1'],
 'D': ['soy1'], 'E': ['foo1']},
# ... etc

]

"A"上的数据是熊猫系列.我想计算"A"中数据的平均值和标准偏差(A 有几条记录),例如:(mean=(2.0+3.0+4.0+5.0+6.0+7.0+11.0+90.0+43.0+87.0)/len(A)=25.8)

推荐答案

你可以使用 list comprehension 和 concat 然后是 mean 或 std.

为了转换成 float (int) 添加 astype,如果还有问题需要to_numeric参数 errors='coerce'.

s = pd.concat([pd.Series(x['A']) for x in data]).astype(float)
print (s)
0     2.0
1     3.0
2     4.0
3     5.0
4     6.0
0     7.0
1    11.0
2    90.0
3    43.0
4    87.0
dtype: float64

print (s.mean())
25.8

print (s.std())
35.15299892375234

另一种解决方案:

from  itertools import chain

s = pd.Series(list(chain.from_iterable([x['A'] for x in data]))).astype(float)
print (s)
0     2.0
1     3.0
2     4.0
3     5.0
4     6.0
5     7.0
6    11.0
7    90.0
8    43.0
9    87.0
dtype: float64

本文地址:https://www.itbaoku.cn/post/1728009.html