计算具有不同长度的多个列表的平均值

时间:2019-04-02 10:34:28

标签: python pandas numpy math plot

假设我有以下列表(可以超过三个列表):

l1 = [4,5,10,20,13]
l2 = [3,7,11]
l3 = [10,40,50,60]

考虑到它们的长度不同,我如何计算这些列表的每个项目的平均值?

avg = [(4+3+10)/3, (5+7+40)/3, (10+11+50)/3, (20+?+60)/3, (13+?+?)/3 ] 

平均可以用来绘制这些列表的平均值。 一种想法是将所有内容都截短到最短列表的长度,但是应该有一种更好的方法。

谢谢。

2 个答案:

答案 0 :(得分:1)

在纯Python中,这是expand.grid(x = 1:10, y=1:10) %>% mutate(angle = runif(100, 0, 2*pi), speed = runif(100, 0, sqrt(0.1 * x))) %>% ggplot(aes(x, y)) + geom_point() + geom_spoke(aes(angle = angle, radius = speed), position = 'center_spoke') 模块中zip_longest的工作:

itertools

答案 1 :(得分:0)

如果将所有列表都放在一个大列表中,则一种解决方案是:

l1 = [4,5,10,20,13]
l2 = [3,7,11]
l3 = [10,40,50,60]

ls = [l1, l2, l3]

pd.DataFrame(ls).mean(axis = 1)