gpt4 book ai didi

python - 如何在 Python 中对列表值的总和进行 bin?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:01:47 26 4
gpt4 key购买 nike

我需要一些帮助来合并我的数据值。需要一个类似直方图的函数,但我不想列出出现的次数,只是列出每个 bin 的值的总和。

在下面的示例中,我有一个包含 30 天 Twitter 关注者数量的列表。假设我想要 10 个箱子,那么每个箱子将采用 30/10 = 3 天的值。对于前三天,bin 1 的值将为 1391 + 142 + 0 = 1533,对于 bin 2 12618 等,直到 bin 10。

bins 的数量以及持续时间最终可能会有所不同。例如,它还需要工作 31 天和 5 个箱子。

有人知道如何有效地做到这一点吗?是否有可用的 Python 函数可以执行此操作?否则,for 循环的实现能够将列表中的 n 个值相加,直到持续时间结束。

非常感谢所有帮助 :) 谢谢!

    followersList = [1391, 142, 0, 0, 12618, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

duration = 30
bins = 10
binWidth = round(duration / bins)

#
# for loop or python function that sums values for each bin
#

最佳答案

你可以这样做:

bin_width = int(round(duration / bins))
followers = [sum(followersList[i:i+bin_width]) for i in xrange(0, duration, bin_width)]

关于python - 如何在 Python 中对列表值的总和进行 bin?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33651218/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com