Python Pandas:按日期分组,并按时间戳访问每个分组

Notilas

我想按时间戳分组(日期)并按时间戳访问每个组,但看起来工作不正常。好像组密钥奇怪地以不同的格式索引了。

df= pd.DataFrame({'DATE' : ['10-Oct-2013', '10-Oct-2013', '10-Oct-2013', '11-Oct-2013', '11-Oct-2013', '11-Oct-2013'],'VAL' : [1,2,3,4,5,6]})

>>> df
          DATE  VAL
0  10-Oct-2013    1
1  10-Oct-2013    2
2  10-Oct-2013    3
3  11-Oct-2013    4
4  11-Oct-2013    5
5  11-Oct-2013    6


dfg=df.groupby(df['DATE'].apply(lambda x: pd.to_datetime(x)))

>>> dfg.groups.keys()
[numpy.datetime64('NaT'), numpy.datetime64('2013-10-10T17:00:00.000000000-0700'), numpy.datetime64('2013-10-09T17:00:00.000000000-0700')]

for d in dfg.groups.keys():
    try:
        print d,dfg.get_group(d).describe()
    except:
        print 'err'
>>
NaT err
2013-10-10T17:00:00.000000000-0700 err
2013-10-09T17:00:00.000000000-0700 err

rng = pd.to_datetime(pd.date_range('10/10/2013', periods=3, freq='D'))

for d in rng:
    try:
        print d,dfg.get_group(d).describe()
    except:
        print 'err'

2013-10-10 00:00:00 err
2013-10-11 00:00:00 err
2013-10-12 00:00:00 err
杰夫

这是你的框架

In [40]: df = pd.DataFrame({'DATE' : ['10-Oct-2013', '10-Oct-2013', '10-Oct-2013', '11-Oct-2013', '11-Oct-2013', '11-Oct-2013'],'VAL' : [1,2,3,4,5,6]})

直接转换类似日期的列要快得多

In [41]: df['DATE']= pd.to_datetime(df['DATE'])

In [42]: df.dtypes
Out[42]: 
DATE    datetime64[ns]
VAL              int64
dtype: object

In [43]: df
Out[43]: 
                 DATE  VAL
0 2013-10-10 00:00:00    1
1 2013-10-10 00:00:00    2
2 2013-10-10 00:00:00    3
3 2013-10-11 00:00:00    4
4 2013-10-11 00:00:00    5
5 2013-10-11 00:00:00    6

这样就可以完成您想要的效果

In [44]: df.groupby('DATE').describe()
Out[44]: 
                  VAL
DATE                 
2013-10-10 count  3.0
           mean   2.0
           std    1.0
           min    1.0
           25%    1.5
           50%    2.0
           75%    2.5
           max    3.0
2013-10-11 count  3.0
           mean   5.0
           std    1.0
           min    4.0
           25%    4.5
           50%    5.0
           75%    5.5
           max    6.0

如果您真的想单独参加一个团体

In [45]: g = df.groupby('DATE')

In [46]: key = g.groups.keys()[0]

In [47]: key
Out[47]: numpy.datetime64('2013-10-09T20:00:00.000000000-0400')

In [48]: g.get_group(key.astype('i8'))
Out[48]: 
                 DATE  VAL
0 2013-10-10 00:00:00    1
1 2013-10-10 00:00:00    2
2 2013-10-10 00:00:00    3

datetime64 [ns]在内部存储为长整数,因此这就是需要访问它们的方式。通常,您实际上没有理由这样做,因为您可以

df.groupby('DATE').apply(lambda x: .....)

或者如果您真的想迭代

for g, grp in df.groupby('DATE'):
        ......

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python Pandas:按日期分组,并按时间戳访问每个分组

来自分类Dev

Python-熊猫,按时间间隔分组

来自分类Dev

Python-按时间间隔分组

来自分类Dev

按日期分组,而不按时间分组

来自分类Dev

按日期时间的每周细分分组64 python

来自分类Dev

Python列表按日期分组

来自分类Dev

按每个结果分组,作为单独的列pandas python

来自分类常见问题

Python Pandas:按分组分组,平均?

来自分类Dev

如何使用Python / Pandas从“日期”字段按年份分组

来自分类Dev

数据框按列分组并按范围将其剪切pandas python

来自分类Dev

在Python中按时间序列箱对项目进行分组

来自分类Dev

使用Python / Pandas按小时分组,并带有csv中的开始时间和结束时间日期时间列

来自分类Dev

如何从日期时间按日期分组并按日期时间排序

来自分类Dev

MySQL按时间戳分组

来自分类Dev

RxJava按时间戳分组

来自分类Dev

按时间戳字段的日期部分分组

来自分类Dev

按时间戳字段的日期部分分组

来自分类Dev

如何按时间戳将日期分组?(AngularJS)

来自分类Dev

Python Pandas:按相似的文件名对目录中的文件进行分组,并按特定顺序连接数据帧

来自分类Dev

Python Pandas-按字段分组并汇总

来自分类Dev

Pandas (Python) 中按数据分组的总和

来自分类Dev

如何在Python中的指定时间段内按日期分组和对日期时间应用聚合函数?

来自分类Dev

行中的Python / Pandas数据帧时间数据(按名称分组)

来自分类Dev

使用Python和绘图按日期对Pandas数据框进行分组

来自分类Dev

按清单python分组

来自分类Dev

从Unix时间戳按时隙分组

来自分类Dev

Django / Python:按时隙分组结果

来自分类Dev

如何按范围对数字列表进行排序并按时间顺序对结果进行分组

来自分类Dev

Revit Python Shell-遍历每个元素,找到视图名称并按图纸编号分组

Related 相关文章

  1. 1

    Python Pandas:按日期分组,并按时间戳访问每个分组

  2. 2

    Python-熊猫,按时间间隔分组

  3. 3

    Python-按时间间隔分组

  4. 4

    按日期分组,而不按时间分组

  5. 5

    按日期时间的每周细分分组64 python

  6. 6

    Python列表按日期分组

  7. 7

    按每个结果分组,作为单独的列pandas python

  8. 8

    Python Pandas:按分组分组,平均?

  9. 9

    如何使用Python / Pandas从“日期”字段按年份分组

  10. 10

    数据框按列分组并按范围将其剪切pandas python

  11. 11

    在Python中按时间序列箱对项目进行分组

  12. 12

    使用Python / Pandas按小时分组,并带有csv中的开始时间和结束时间日期时间列

  13. 13

    如何从日期时间按日期分组并按日期时间排序

  14. 14

    MySQL按时间戳分组

  15. 15

    RxJava按时间戳分组

  16. 16

    按时间戳字段的日期部分分组

  17. 17

    按时间戳字段的日期部分分组

  18. 18

    如何按时间戳将日期分组?(AngularJS)

  19. 19

    Python Pandas:按相似的文件名对目录中的文件进行分组,并按特定顺序连接数据帧

  20. 20

    Python Pandas-按字段分组并汇总

  21. 21

    Pandas (Python) 中按数据分组的总和

  22. 22

    如何在Python中的指定时间段内按日期分组和对日期时间应用聚合函数?

  23. 23

    行中的Python / Pandas数据帧时间数据(按名称分组)

  24. 24

    使用Python和绘图按日期对Pandas数据框进行分组

  25. 25

    按清单python分组

  26. 26

    从Unix时间戳按时隙分组

  27. 27

    Django / Python:按时隙分组结果

  28. 28

    如何按范围对数字列表进行排序并按时间顺序对结果进行分组

  29. 29

    Revit Python Shell-遍历每个元素,找到视图名称并按图纸编号分组

热门标签

归档