File tree 1 file changed +74
-0
lines changed
1 file changed +74
-0
lines changed Original file line number Diff line number Diff line change
1
+ import numpy as np
2
+ import pandas as pd
3
+
4
+ print (pd .__version__ )
5
+
6
+ df = pd .DataFrame (
7
+ {"col" : range (10 )}, index = pd .date_range ("2012-01-01" , periods = 10 , freq = "20min" )
8
+ )
9
+ df
10
+
11
+ df .index
12
+
13
+ # res = df.resample("H").apply(lambda group: len(group["col"].unique()))
14
+ # res
15
+
16
+ # res.index
17
+
18
+ res = df .resample ("H" )
19
+ res
20
+
21
+ res .axis
22
+
23
+ res .binner
24
+
25
+ res .grouper
26
+
27
+ res ._set_binner ()
28
+ res
29
+
30
+ res .binner
31
+
32
+ res .grouper
33
+
34
+ func = lambda group : len (group ["col" ].unique ())
35
+ func
36
+
37
+ # from pandas.core.aggregation import aggregate
38
+
39
+ # result, how = aggregate(res, func)
40
+ # result, how # (None, True)
41
+
42
+ # res.binner
43
+ # # DatetimeIndex(['2012-01-01 00:00:00', '2012-01-01 01:00:00',
44
+ # # '2012-01-01 02:00:00', '2012-01-01 03:00:00',
45
+ # # '2012-01-01 04:00:00'],
46
+ # # dtype='datetime64[ns]', freq='H')
47
+
48
+ # res.grouper
49
+ # # <pandas.core.groupby.ops.BinGrouper at 0x2768ebbc550>
50
+
51
+ obj = res ._selected_obj
52
+ obj
53
+
54
+ obj is df
55
+
56
+ obj .index
57
+
58
+ grouper = res .grouper
59
+ grouper
60
+
61
+ axis = res .axis
62
+ axis
63
+
64
+ from pandas .core .groupby .groupby import get_groupby
65
+
66
+ grouped = get_groupby (obj , by = None , grouper = grouper , axis = axis )
67
+ grouped
68
+
69
+ # result = grouped._aggregate_item_by_item(func)
70
+
71
+ result = grouped .apply (func )
72
+ print (result )
73
+
74
+ assert result .index .freq is None
You can’t perform that action at this time.
0 commit comments