如何用区间数据绘制百分位数图?
请参阅下面的代码,以根据特定的间隔计算数据的百分比。
idx = pd.IntervalIndex.from_breaks([39.9, 42.9,45.9,48.9,51.9,54.9,57.9])
df = pd.DataFrame({"Bin": idx, "Frequency": [2,2,5,5,12,3]})
n = df["Frequency"].sum()
df['cumulativeSumFreq'] = df["Frequency"].cumsum()
df['cumulativePercent'] = (df["Frequency"]/n)*100
df
bins = [39.9, 42.9,45.9,48.9,51.9,54.9,57.9]
df.hist(column='cumulativePercent', bins=bins)
plt.show()
字符串
出于某种原因,df.hist()不排除bins=idx
我得到下面的图,它没有遵循正确的装箱。我如何实现这一点?
的数据
的
2条答案
按热度按时间frebpwbc1#
使用
pyplot.stairs
或Axes.stairs
:字符串
或
型
输出量:
的数据
sxissh062#
出现这个问题是因为hist方法试图从数据中创建自己的bin,而不是严格使用您提供的bin。您可以使用bar来绘制预分仓数据的直方图,而不是使用hist方法。这里是更新的完整代码:
字符串