如何绘制条形图,显示由数据框列组成的各种桶的频率计数?

Posted

技术标签:

【中文标题】如何绘制条形图,显示由数据框列组成的各种桶的频率计数?【英文标题】:How to plot a barchart showing frequency count of various buckets made out of a dataframe column? 【发布时间】:2021-03-24 06:32:10 【问题描述】:

我有下面附加的数据框,我需要绘制一个条形图,显示在 x 轴上的运行得分和在 y 轴上的频率/计数。

我已经尝试过这个命令,但它没有显示正确的结果 -

箱 = [0,10,20,30,40]

plt.hist(df.Runs, bins, histt​​ype='bar')

plt.xlabel('x') plt.ylabel('y')

我得到下图:-

我想要的预期情节-

【问题讨论】:

“它没有显示正确的结果”是什么意思?你能描述一下到底出了什么问题吗?顺便说一句,如果你提供bins = [0,10,20,30,40],预计大于40的值将不会被表示。 @JohanC 我已经添加了从我的代码中获得的图表以及我期望它出现的图表。 可能您的“运行”是字符串而不是数字。如果您使用 pd.read_csv() 之类的函数读取数据帧,则通常会自动进行正确的转换。否则,df['DataFrame Column'] = df['DataFrame Column'].astype(int) 应该进行转换。请注意,您有多个应该是数字的列。 @JohanC 我只使用 pd.read_csv 用例如df.info()你可以找到列的类型。您也可以尝试使用 df.hist() 获取 pandas 直方图,或者使用 seaborn 的 histplot() 【参考方案1】:

您需要进行数据清理,并且需要从运行中删除“DND”和“TDNB”行 那么你需要进口seaborn 然后你需要绘制图 回答: bins=[0,10,20,30,40] sns.displot(df.Runs,bins) plt.show()

【讨论】:

以上是关于如何绘制条形图,显示由数据框列组成的各种桶的频率计数?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Python 中绘制显示不同类型商店类型的总销售额的条形图?

具有前 N 个项目和一个用于剩余项目的条形图

如何使用 geom_text 在堆叠条形图的比例尺上添加频率或数字?

如何使用 Pandas 绘制条形图?

具有重复颜色的 HTML5 图表堆叠条形图

如何绘制条形图和饼图 iPhone sdk?