假设我有以下列表(可以超过三个列表):
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 ]
平均可以用来绘制这些列表的平均值。 一种想法是将所有内容都截短到最短列表的长度,但是应该有一种更好的方法。
谢谢。
答案 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)