matplotlib 如何获取条形图中的前5个值

uubf1zoe  于 2023-03-19  发布在  其他
关注(0)|答案(2)|浏览(183)

我有一个名为recent_grads的数据框,包含MajorUnemloyment_rate列,如何使用matplotlib在条形图中显示失业率最高的前5个专业?

fig = plt.figure(figsize=(8,6))
ax = fig.add_subplot(1,1,1)
ax.bar(recent_grads["Major"][:5],recent_grads["Unemployment_rate"][:5])
plt.show()
gdx19jrr

gdx19jrr1#

如果未聚合数据,请使用groupby.max,然后使用nlargest

(recent_grads.groupby('Major')['Unemployment_rate'].max()
 .nlargest(5).plot.bar()
)

如果数据已聚合,则仅nlargest

recent_grads.set_index('Major')['Unemployment_rate'].nlargest(5).plot.bar()
hk8txs48

hk8txs482#

你可以使用pandas中的.sort_values()方法,按照Unemployment rate值降序排序,然后使用.head()只打印前5行:

recent_grads.sort_values(by=['Unemployment_rate'], ascending=True).head(5)

顺便说一下,5是使用.head()时默认显示的行数,因此您甚至不需要指定它。
希望这个有用。

相关问题