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有几个记录):(均值=(2.0 3.0 4.0 5.0 6.0 7.0 11.0 90.0 43.0 87.0)/ len(A)= 25.8 )
解决方法:
您可以将列表理解与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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。