我目前正在做我在网上找到的销售分析,想知道如何显示从他们当前订单到周一至周日的 x 轴值(一周中的天数)。
我使用以下方法将购买该物品的一周中的几天分组:
df12 = df.groupby('Weekday Bought').count().sort_values(['Paid'], ascending = False)['Paid']
display(df12)
返回:
Weekday Bought
Thursday 65
Saturday 63
Monday 58
Friday 56
Tuesday 55
Wednesday 47
Sunday 44
Name: Paid, dtype: int64
我希望以降序显示,并在 x 轴上显示 Weekday Bought 并在 y 轴上计算 Paid 值的图表。我有我的 MatplotLib/Seaborn 代码来创建一个折线图:
plt.figure(figsize=(15,6))
chart12 = sns.lineplot(x = 'Weekday Bought', y = 'Paid',
data = df12.reset_index(), color = "green")
plt.xlabel('Weekday Bought', size = 12)
plt.ylabel('Number Bought', size = 12)
chart12.set_title('Most Popular Day of Week for Buying',
size = 12)
chart12.set_xticklabels(chart12.get_xticklabels(),
rotation=20)
plt.show()
它正确地生成了一个带有正确数据的折线图。我想调整此代码以在 x 轴上按顺序显示 Mon - Sun。有谁知道我是否可以按顺序列出一周中的几天,然后将其“插入”到我的代码中?希望有人可以帮助我!谢谢!
注意 - Weekday Bought dtype 是对象
IIUC,使用 groupby 后reset_index
,进行自定义排序 -
df = df.reset_index()
df.Weekday = pd.Categorical(df.Weekday,
categories=['Monday', 'Tuesday', 'Wednesday',
'Thursday', 'Friday', 'Saturday', 'Sunday'],
ordered=True)
df = df.sort_values('Weekday')
输出:
Weekday Bought
2 Monday 58
4 Tuesday 55
5 Wednesday 47
0 Thursday 65
3 Friday 56
1 Saturday 63
6 Sunday 44
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句