gpt4 book ai didi

python - 如何绘制多个列表的直方图?

转载 作者:太空宇宙 更新时间:2023-11-04 03:26:58 27 4
gpt4 key购买 nike

我有一个数据集,其中包含 13k Kickstarter 项目及其在项目期间的推文。每个项目都包含一个列表,其中包含每天的推文数量, 例如[10, 2, 4, 7, 2, 4, 3, 0, 4, 0, 1, 3, 0, 3, 4, 0, 0, 2, 3, 2, 0, 4, 5, 1, 0, 2, 0, 2, 1, 2, 0]

我通过将项目的持续时间设置为 31 天来获取数据的子集,以便每个列表具有相同的长度,包含 31 个值。

这段代码打印每个推文列表:

    for project in data:
data[project]["tweets"]

使用 matplotlib 绘制直方图的最简单方法是什么?我需要每天推文总数的频率分布。我如何计算每个索引的值?他们是使用 Pandas 执行此操作的简单方法吗?

这些列表也可以在 Pandas 数据框中访问:

    df = pd.DataFrame.from_dict(data, orient='index')
df1 = df[['tweets']]

最佳答案

直方图 可能不是您所需要的。如果您有一个数字列表(例如,人的智商)并且您希望将每个数字归入一个类别(例如 79-、80-99、100+),这是一个很好的解决方案。将有 3 个箱子,每个箱子的高度将代表适合相应类别的数字数量。

在你的例子中,你已经有了每个 bin 的高度,所以(据我所知)你想要的是一个看起来像直方图的。这(据我所知)不受 matplotlib 支持,并且需要使用 matplotlib 而不是预期的使用方式。

如果您可以使用绘图而不是直方图,那么您就可以这样做。

import matplotlib.pyplot as plt

lists = [data[project]["tweets"] for project in data] # Collect all lists into one
sum_list = [sum(x) for x in zip(*lists)] # Create a list with sums of tweets for each day

plt.plot(sum_list) # Create a plot for sum_list
plt.show() # Show the plot

如果你想让图表看起来像直方图,你应该这样做:

plt.bar(range(0, len(sum_list)), sum_list)

而不是 plt.plot。

关于python - 如何绘制多个列表的直方图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32679481/

27 4 0
文章推荐: python - 导致操作系统错误的 Pyperclip 复制
文章推荐: javascript - Mocha before 函数 - 没有大括号错误的 lambda;带有花括号的 lambda 可以工作
文章推荐: javascript - 在 `
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com