TimeSeries与Pandas中的groupby

 mobiledu2502884697 发布于 2023-02-07 19:30

我想查看TimeSeries各个时间段内每个客户的数据Pandas.

import pandas as pd
import numpy as np
import random
clients = np.random.randint(1, 11, size=100)
dates = pd.date_range('20130101',periods=365)
OrderDates = random.sample(dates,100)
Values = np.random.randint(10, 250, size=100)


df = pd.DataFrame({ 'Client' : clients,'OrderDate' : OrderDates, 'Value' : Values})

df = df.sort(['OrderDate', 'Client'], ascending=['True', 'True'])

df.head()

我想要完成的是获取"值"列的计数和总和,按"客户"分组各个时间段(每月,每季度,每年 - 我可能会为此数据构建3个不同的数据帧,然后制作数据帧"广泛").

对于季度,我希望这样的事情:

Client      OrderDate       NumberofEntries SumofValues
1           2013-03-31      7               28
1           2013-06-30      2               7
1           2013-09-30      6               20
1           2013-12-31      1               3
2           2013-03-31      1               4
2           2013-06-30      2               8
2           2013-09-30      3               17
2           2013-12-31      4               24

我可以通过获取每个条目(或月份或年份)的季度来附加该数据框,然后使用Pandas groupby函数,但这似乎是我应该使用时的额外工作TimeSeries.

我已经阅读了文档并审阅了TimeSeriesWes 的演示,但我没有看到groupby为客户做一个方法,然后在TimeSeries我尝试构建的时间段内执行(或者 - 我可以运行for loop并构建这样的数据框架,但再次 - 似乎比应有的更多的工作.)

有没有办法将groupby流程与TimeSeries

1 个回答
  • 稍微替代方法是set_index在进行groupby之前:

    In [11]: df.set_index('OrderDate', inplace=True)
    
    In [12]: g = df.groupby('Client')
    
    In [13]: g['Value'].resample('Q', how=[np.sum, len])
    Out[13]: 
                       sum  len
    Client OrderDate           
    1      2013-03-31  239    1
           2013-06-30   83    1
           2013-09-30  249    2
           2013-12-31  506    3
    2      2013-03-31  581    4
           2013-06-30  569    4
           2013-09-30  316    4
           2013-12-31  465    5
    ...
    

    注意:在执行此操作之前,您无需进行排序.

    2023-02-07 19:32 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有