栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Pandas问题:多索引分组/groupby

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Pandas问题:多索引分组/groupby

问题描述:

我有一个数据框,其中包含来自已售产品、收入、价格和日期的多个寄存器

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,即可查看全部内容。公众号有许多评分最高的编程书籍和其它实用工具,无套路,可放心使用

如果您觉得有帮助,可以关注公众号——立志于成为对程序员有益的公众号

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1034772.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号