在汇总一个月的销售额并将该月修改为该月的第一天时出错

时间:2019-12-27 04:34:33

标签: python pandas

我正在尝试分析每个月的销售额,并试图汇总每个月的销售额并将日期显示为该月的第一天。但是,将订购日期转换为该月的每个第一天时,都会出现此错误,订购日期变为:

"2018.0 - 9.0 - 01"

我的代码是

df_sales['Order Date'] = df_sales['Order Date'].dt.year.astype('str') + '-' + df_sales['Order Date'].dt.month.astype('str') + '-01'
df_sales['Order Date'] = pd.to_datetime(df_sales['Order Date'])

当我进行错误检查时:

import pandas as pd 
import io
print(df_sales[df_sales['Order Date'].str.len() > 7])

我的结局如上

Order Date

2018.0-09.0-01

2018.0-03.0-01

2017.0-04.0-01

my original data is this:

2018-09-21

2018-09-03

2018-03-05

类似这样的东西。

我希望我的数据变成这样:

Order Date  Sales

2018-09-01  5466

2017-03-01 6466

(订购日期为该月的每个第一天),销售额就是该特定月份的总销售额。

我应该如何修改代码以获得结果?

非常感谢!

2 个答案:

答案 0 :(得分:0)

您可以尝试

df_sales['Order Date'] = pd.to_datetime(df_sales['Order Date'])
df_sales['Order Date'] = df_sales['Order Date'] - pd.offsets.MonthBegin()

答案 1 :(得分:0)

好,谢谢大家给我的想法和启发,我终于发现错误是我的数据集,有很多空白字段我没有正确清理。我的代码有效。