我有一个客户名称、日期和交易的数据框架。我不确定我的错误发生了多远,因此以下是我所做的所有预处理:
data = pd.read_excel('Test.xls')
## convert to datetime object
data['Date Order'] = pd.to_datetime(data['Date Order'], format = '%d.%m.%Y')
## add columns for month and year of each row for easier analysis later
data['month'] = data['Date Order'].dt.month
data['year'] = data['Date Order'].dt.year
因此,数据帧变得类似于:
Date Order NameCustomers SumOrder month year
2019-01-02 00:00:00 Customer 1 290 1 2019
2019-02-02 00:00:00 Customer 1 50 2 2019
-----
2020-06-28 00:00:00 Customer 2 900 6 2020
------
……等等。 你明白了。接下来,我分月份和年份分组,并计算平均值
groupedMonthYearMean = data.groupby(['month', 'year'])['SumOrder'].mean().reset_index()
输出:
month year SumOrder
1 2019 233.08
1 2020 303.40
2 2019 255.34
2 2020 842.24
--------------------------
我使用生成的数据框制作了一个线形图,它跟踪每个月的SumOrder,并显示每年的SumOrder
linechart = sns.lineplot(x = 'month',
y = 'SumOrder',
hue = 'year',
data = groupedMonthYearMean).set_title('Mean Sum Order by month')
plt.show()
我附上了一个截图的结果情节-总的来说,它似乎显示了我希望创造。 在我的全部数据中,“年份”列只有两个值:2019年和2020年。出于某种原因,无论我做什么,它们都显示为0,-1和-2。知道发生了什么事吗
您想将年份列的数据类型从int更改为category
这是由于色调如何处理整数
相关问题 更多 >
编程相关推荐