【发布时间】:2020-09-01 21:52:12
【问题描述】:
我有一个包含子列表的列表列表,所有这些列表都包含浮点值。 例如,下面有 2 个列表,每个列表都有子列表:
mylist = [[[2.67, 2.67, 0.0, 0.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [0.0, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0]], [[2.67, 2.67, 2.0, 2.0], [0.0, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [0.0, 0.0, 0.0, 0.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0]]]
我想计算子列表的标准差和平均值,我应用的是:
mean = [statistics.mean(d) for d in mylist]
stdev = [statistics.stdev(d) for d in mylist]
但它也需要我不想要的 0.0 值,因为我将它们设置为 0 以免为空。有没有办法忽略这些 0,因为它们不存在于子列表中?根本不考虑它们?我找不到我如何做的方法。
【问题讨论】:
-
我们为什么不使用合适的数据科学库,例如
numpy或pandas? -
@Parfait 老实说,我是 python 新手,使用了很多数据列表,所以我现在正在学习。但如果使用这些库更容易,我会试一试
标签: python list mean standard-deviation sublist