python - 如何使用这些数据制作直方图?
问题描述
2005.0 7
2006.0 8
2007.0 6
2008.0 13
2009.0 8
2010.0 6
2011.0 10
2012.0 16
2013.0 17
2014.0 19
2015.0 18
2016.0 19
2017.0 20
2018.0 18
2019.0 15
我切片了我的excel文件并使用了value_counts(),这样我就得到了像图片一样的数据(2005.0-2019.0是年份,右侧是计数的数字)
最后,我尝试制作直方图,但失败了。你能帮帮我吗?我想要一个直方图,x 轴是年份,y 轴是频率。
解决方案
您要做的是创建一个条形图,因为您现在已将其制成具有类别(年份)和值的数据框。你可以用熊猫来做到这一点。供参考:直方图和条形图的区别
import pandas as pd
# makes visualization render in notebook
%matplotlib inline
# create dataframe with columns 'year' and 'value'
df = pd.DataFrame({'year':[2005, 2006, 2007, 2008], 'value':[7,8,6,13]})
# create bar chart
df.plot.bar(x='year', y = 'value')
其他渲染条形图的包:
- Seaborn:https ://seaborn.pydata.org/generated/seaborn.barplot.html
- Matplotlib:https ://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.bar.html
- 散景: http: //docs.bokeh.org/en/1.0.0/docs/user_guide/categorical.html
对于显示单个变量分布的直方图:
original_df.hist(column = 'values')
推荐阅读
- c++ - 如果类实现类模板,则定义函数,而不考虑模板参数
- postgresql - 使用 Postrgres JSON 函数如何获取数组的聚合对象
- azure - Azure Monitor - 服务总线命名空间的图表和警报使用情况(当前大小/总大小)
- ios - DJI WaypointMission - 获取定位失败/无人机定位
- javascript - 在 StrictMode 中未更新状态
- java - 有没有办法在不使用 Scheduler 注释的情况下在 Spring API 中安排服务?
- r - 根据是否满足条件创建文本输出
- azure - ARM 模板取决于 keyvault 访问策略
- c++ - C++:将 constexpr lambda 初始化为 constexpr/非 constexpr 变量
- google-sheets-formula - 查询公式谷歌表格日期和其他条件