Python中大数据的堆积条形图

问题描述 投票:0回答:1

我想用python中的csv文件绘制一个堆积的条形图。我有三列数据

year word frequency
2018 xyz 12
2017 gfh 14
2018 sdd 10
2015 fdh 1
2014 sss 3
2014 gfh 12
2013 gfh 2
2012 gfh 4
2011 wer 5
2010 krj 4
2009 krj 4
2019 bfg 4
... 300+ rows of data. 

我需要检查所有数据并绘制基于年份分类的堆叠条形图,因此x轴为单词,y轴为频率,图例颜色应按年份显示。我想看看每个单词的演变是如何逐年发生的。每年都会重复使用某些技术用语,因此堆栈条形图应在顶部和绘图上添加值,例如,单词gfh最初在2017年绘制14,然后在2014年我要绘制gfh单词(以其他颜色显示)在2017年Gfh之上的值为12。如何执行此操作?到目前为止,我在代码中调用了csv文件。但是我不明白它如何遍历所有行并适当地堆叠单词(因为有些单词会在全年重复出现)。非常感谢您的帮助。此外,年份在csv中以随机顺序排列,但我按年份对其进行了排序,以使其更容易。因为我有40年的数据和大约20个单词,所以我只是在学习python并试图理解这个绘图例程。因此,我认为堆积条形图是表示它们的最佳方法。也欢迎使用任何其他可视化方法。

python loops csv bar-chart stacked
1个回答
0
投票

这可以使用pandas完成:

pandas

哪个输出:import pandas as pd df = pd.read_csv("file.csv") # Aggregate data df = df.groupby(["word", "year"], as_index=False).agg({"frequency":"sum"}) # Plot bar chart df.pivot( index="word", columns="year", values="frequency", ).plot.bar( stacked=True, )

© www.soinside.com 2019 - 2024. All rights reserved.