首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pandas使用分类字符串值对x轴进行排序

问pandas使用分类字符串值对x轴进行排序
EN

Stack Overflow用户
提问于 2020-03-26 06:34:31
回答 1查看 517关注 0票数 0

我正在尝试对pandas plot x轴中的分类变量进行排序。我试着从pandas数据帧本身进行排序,但我只能按字母顺序排序。我在plot中看不到以这种方式排序的选项。我尝试按以下顺序获得x轴: Mon,Tue,Wed,Thru,Fri,Sat,Sun。我该怎么做?

代码语言:javascript
复制
df = data_df.groupby(['name1','weekday']).sum().reset_index()
s = (df.pivot_table(
        index='weekday', columns='name1', values='count', aggfunc='sum'))

s.plot(kind='bar', stacked=True,figsize=(20,10),rot=0)
plt.show()

​

​

查找此输出

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-26 08:53:45

据我所知,您的df和s本质上是相同的。此外,您还可以使用reindex命令,然后绘制:

代码语言:javascript
复制
weekdays = ['Monday','Tuesday','Wednesday','Thursday',
            'Friday','Saturday','Sunday']
# sample data
np.random.seed(1)
data_df = pd.DataFrame({
    'name1':np.random.randint(0,3, 100),
    'weekday':np.random.choice(weekdays, 100),
    'count':np.random.randint(3,100)
})

# groupby and take sum
s = (data_df.groupby(['name1','weekday'])
       .sum().unstack('name1')
       .reindex(weekdays)                 # here is the key to get the correct order
)

# plot
s.plot.bar(stacked=True)

输出:

​

​

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60858366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档