问题描述:
我有一个数据框,其中包含来自已售产品、收入、价格和日期的多个寄存器
DATA CLIENT PRODUCT PRICE 2020-08-28 xxxxxxx RIOT 20.0
我将按年/月和产品对我的信息进行分组。我正在按 to_period 运行一个组,以提取确切的信息:
dfgmv = dfgift[['PRODUCT','PRICE']].groupby([dfgift.DATA.dt.to_period("M"), 'PRODUCT']).agg(['count','sum'])
这是输出:
PRICE
count sum
DATA PRODUCT
2020-08 RIOT 2 40.00
问题是,当我导出到 excel 时,日期列不会被解释为日期(yyyy-mm)。我正在尝试将 yyyy-mm 转换为 yyyy-mm-dd 之类的东西,以便 Excel 理解它。
我已经阅读了几个关于多索引的问题,但我的知识不足以使用这些信息在这里申请。我试图将我的索引更改为日期时间,但是,当我运行它时,我丢失了第二个索引列(产品)。
dfgmv.index = pd.to_datetime(dfgmv.index.get_level_values(0).astype('datetime64[ns]'))
VALOR
count sum
DATA
2020-08-01 2 40.00
那么,如何在不丢失索引的情况下更改信息格式?
解决思路一:
可以更改您的日期groupby,以包括您拥有的每个日期的月初:
dfgmv = dfgift[['PRODUCT','PRICE']].groupby([dfgift.DATA.astype('datetime64[M]'), 'PRODUCT']).agg(['count','sum'])
dfgmv
PRICE
count sum
DATA PRODUCT
2020-08-01 RIOT 1 20.0
解决思路二:
以上仅为部分解决思路,添加下方公众号后回复001,即可查看全部内容。公众号有许多评分最高的编程书籍和其它实用工具,无套路,可放心使用
如果您觉得有帮助,可以关注公众号——立志于成为对程序员有益的公众号



