熊猫:定期定期拆分条件数据框

时间:2018-08-14 15:26:59

标签: python python-2.7 pandas

我有一个数据帧,其中有一个datetime列,它指示某个条件(A,B或C)的开始,与该条件相关的值(值)和一个计数器,该值等于开始之间的分钟总和和条件的结束。
看起来像这样:

        date                 Value    Condition count
0   2018-05-01 06:29:00 0.0                 A   1
1   2018-05-01 06:30:00 0.2116250035663446  A   2
2   2018-05-01 06:31:00 2.5572083791097007  A   3
3   2018-05-01 06:32:00 3.4874167144298553  A   4
4   2018-05-01 06:33:00 3.542041709025701   A   5
5   2018-05-01 06:34:00 3.517166723807653   A   6
6   2018-05-01 06:35:00 3.9571250875790915  A   7
7   2018-05-01 06:36:00 5.0706249078114825  B   1
8   2018-05-01 06:37:00 5.062458336353302   B   2
9   2018-05-01 06:38:00 5.051083226998647   B   3
10  2018-05-01 06:39:00 5.049999952316284   B   4
11  2018-05-01 06:40:00 5.061791678269704   B   5
12  2018-05-01 06:41:00 5.025291681289673   B   6
13  2018-05-01 06:42:00 5.065833310286204   B   7
14  2018-05-01 06:43:00 5.051874856154124   B   8
15  2018-05-01 06:44:00 5.073999881744385   B   9
16  2018-05-01 06:45:00 5.04304164648056    B   10
17  2018-05-01 06:46:00 5.090916752815247   B   11
18  2018-05-01 06:47:00 5.045083403587341   B   12
19  2018-05-01 06:48:00 5.036874949932098   B   13
20  2018-05-01 06:49:00 5.047999858856201   B   14
21  2018-05-01 06:50:00 5.048500041166942   B   15
22  2018-05-01 06:51:00 5.031458218892415   B   16
23  2018-05-01 06:52:00 5.036749978860219   B   17
24  2018-05-01 06:53:00 5.057374894618988   B   18
25  2018-05-01 06:54:00 5.065375049908956   B   19
26  2018-05-01 06:55:00 5.101583381493886   B   20
27  2018-05-01 06:56:00 5.064416746298472   B   21
28  2018-05-01 06:57:00 5.0727916558583575  B   22
29  2018-05-01 06:58:00 5.059083342552185   B   23
30  2018-05-01 06:59:00 5.067666749159495   B   24
31  2018-05-01 07:00:00 5.063124974568685   B   25
32  2018-05-01 07:01:00 5.068083385626475   B   26
33  2018-05-01 07:02:00 5.06870836019516    B   27
34  2018-05-01 07:03:00 5.083666622638702   B   28
35  2018-05-01 07:04:00 5.065375069777171   B   29
36  2018-05-01 07:05:00 5.0842918157577515  B   30
37  2018-05-01 07:06:00 5.097625096638997   B   31
38  2018-05-01 07:07:00 5.09241662422816    B   32
39  2018-05-01 07:08:00 5.08754175901413    B   33
40  2018-05-01 07:09:00 5.103041609128316   B   34
41  2018-05-01 07:10:00 5.109624902407329   B   35
42  2018-05-01 07:11:00 5.1207083861033125  B   36
43  2018-05-01 07:12:00 5.086249967416127   B   37
44  2018-05-01 07:13:00 5.079916596412659   B   38
45  2018-05-01 07:14:00 5.088000039259593   B   39
46  2018-05-01 07:15:00 5.087249954541524   B   40
47  2018-05-01 07:16:00 5.0951666831970215  B   41
48  2018-05-01 07:17:00 5.114208340644836   B   42
49  2018-05-01 07:18:00 5.067541758219401   B   43
50  2018-05-01 07:19:00 5.110625088214874   B   44
51  2018-05-01 07:20:00 5.109249929587047   B   45
52  2018-05-01 07:21:00 5.087249894936879   B   46
53  2018-05-01 07:22:00 5.045874913533528   B   47
54  2018-05-01 07:23:00 5.086249927679698   B   48
55  2018-05-01 07:24:00 5.059500118096669   B   49
56  2018-05-01 07:25:00 5.069208304087321   B   50
57  2018-05-01 07:26:00 5.087166567643483   B   51
58  2018-05-01 07:27:00 5.075041770935059   B   52
59  2018-05-01 07:28:00 5.061083436012268   B   53
60  2018-05-01 07:29:00 5.063208381334941   B   54
61  2018-05-01 07:30:00 5.077500065167745   B   55
62  2018-05-01 07:31:00 5.126583437124888   B   56
63  2018-05-01 07:32:00 5.124833265940349   B   57
64  2018-05-01 07:33:00 5.097416520118713   B   58
65  2018-05-01 07:34:00 5.119541605313619   B   59
66  2018-05-01 07:35:00 5.110541661580403   B   60
67  2018-05-01 07:36:00 5.094541708628337   B   61
68  2018-05-01 07:37:00 5.109583298365275   B   62
69  2018-05-01 07:38:00 5.1282082597414655  B   63
70  2018-05-01 07:39:00 5.142249921957652   B   64
71  2018-05-01 07:40:00 5.123124837875366   B   65
72  2018-05-01 07:41:00 5.1302082141240435  B   66
73  2018-05-01 07:42:00 5.128333310286204   B   67
74  2018-05-01 07:43:00 5.143583277861278   B   68
75  2018-05-01 07:44:00 5.089958409468333   B   69
76  2018-05-01 07:45:00 5.095583299795787   B   70
77  2018-05-01 07:46:00 5.106916705767314   B   71
78  2018-05-01 07:47:00 5.073291818300883   B   72
79  2018-05-01 07:48:00 5.058124879995982   B   73
80  2018-05-01 07:49:00 5.112416744232178   B   74
81  2018-05-01 07:50:00 5.091583430767059   B   75
82  2018-05-01 07:51:00 5.130833327770233   B   76
83  2018-05-01 07:52:00 5.09779167175293    B   77
84  2018-05-01 07:53:00 5.1314165989557905  B   78
85  2018-05-01 07:54:00 5.09737503528595    B   79
86  2018-05-01 07:55:00 5.0869999925295515  B   80
87  2018-05-01 07:56:00 5.119083384672801   B   81
88  2018-05-01 07:57:00 5.140083213647206   B   82
89  2018-05-01 07:58:00 5.148874938488007   B   83
90  2018-05-01 07:59:00 5.152333398660024   B   84
91  2018-05-01 08:00:00 5.179041842619578   B   85
92  2018-05-01 08:01:00 5.135874966780345   C   1
93  2018-05-01 08:02:00 4.776458283265431   C   1
94  2018-05-01 08:03:00 2.728124996026357   C   2
95  2018-05-01 08:04:00 0.3433749976490314  C   3
96  2018-05-01 08:05:00 0.0 C   4
97  2018-05-01 08:06:00 0.0 C   5
98  2018-05-01 08:07:00 0.0 C   6
99  2018-05-01 06:29:00 0.0012916666455566883   A   1
100 2018-05-01 06:30:00 0.3798333345912397  A   2
101 2018-05-01 06:31:00 2.1624999741713204  A   3
102 2018-05-01 06:32:00 2.9485416412353516  A   4
103 2018-05-01 06:33:00 2.9937082628409066  A   5
104 2018-05-01 06:34:00 3.0695832868417106  A   6
105 2018-05-01 06:35:00 3.160500019788742   A   7
106 2018-05-01 06:36:00 3.0233334004879 A   8
107 2018-05-01 06:37:00 3.014624993006388   A   9
108 2018-05-01 06:38:00 2.9965833524862924  B   1
109 2018-05-01 06:39:00 3.014708320299784   B   2
110 2018-05-01 06:40:00 2.9999999602635703  B   3
111 2018-05-01 06:41:00 2.9898332953453064  B   4
112 2018-05-01 06:42:00 3.025416682163874   B   5
113 2018-05-01 06:43:00 3.0375834008057914  B   6
114 2018-05-01 06:44:00 3.024541676044464   B   7
115 2018-05-01 06:45:00 3.0192916095256805  B   8
116 2018-05-01 06:46:00 3.0326666633288064  B   9
117 2018-05-01 06:47:00 3.0310416519641876  B   10
118 2018-05-01 06:48:00 3.02166677514712    B   11
119 2018-05-01 06:49:00 3.0129166742165885  B   12
120 2018-05-01 06:50:00 3.0137916107972464  B   13
121 2018-05-01 06:51:00 3.013291676839193   B   14
122 2018-05-01 06:52:00 3.0225417017936707  B   15
123 2018-05-01 06:53:00 3.0179584125677743  B   16
124 2018-05-01 06:54:00 3.018083373705546   B   17
125 2018-05-01 06:55:00 3.0191250145435333  B   18
126 2018-05-01 06:56:00 3.0106250643730164  B   19
127 2018-05-01 06:57:00 3.005666603644689   B   20
128 2018-05-01 06:58:00 3.003083348274231   B   21
129 2018-05-01 06:59:00 3.0044583280881247  B   22
130 2018-05-01 07:00:00 2.9925417304039 B   23
131 2018-05-01 07:01:00 2.997625013192495   B   24
132 2018-05-01 07:02:00 3.00687504808108    B   25
133 2018-05-01 07:03:00 2.993708292643229   B   26
134 2018-05-01 07:04:00 2.9989166955153146  B   27
135 2018-05-01 07:05:00 3.0079166889190674  B   28
136 2018-05-01 07:06:00 2.990499963363012   B   29
137 2018-05-01 07:07:00 3.0224166214466095  B   30
138 2018-05-01 07:08:00 3.022499988476435   B   31
139 2018-05-01 07:09:00 3.041124939918518   B   32
140 2018-05-01 07:10:00 3.0160833597183228  B   33
141 2018-05-01 07:11:00 3.0267500281333923  B   34
142 2018-05-01 07:12:00 3.028375039498011   B   35
143 2018-05-01 07:13:00 3.0230000019073486  B   36
144 2018-05-01 07:14:00 3.0227500398953757  B   37
145 2018-05-01 07:15:00 3.0183333853880563  B   38
146 2018-05-01 07:16:00 3.0084999799728394  B   39
147 2018-05-01 07:17:00 3.037958323955536   B   40
148 2018-05-01 07:18:00 3.0259583592414856  B   41
149 2018-05-01 07:19:00 3.0275417367617288  B   42
150 2018-05-01 07:20:00 3.043500026067098   B   43
151 2018-05-01 07:21:00 3.024250010649363   B   44
152 2018-05-01 07:22:00 3.0122083127498627  B   45
153 2018-05-01 07:23:00 3.034375081459681   B   46
154 2018-05-01 07:24:00 3.023208330074946   B   47
155 2018-05-01 07:25:00 3.031499981880188   B   48
156 2018-05-01 07:26:00 3.0316666960716248  B   49
157 2018-05-01 07:27:00 3.0248333513736725  B   50
158 2018-05-01 07:28:00 3.019208381573359   B   51
159 2018-05-01 07:29:00 3.0272917052110038  B   52
160 2018-05-01 07:30:00 3.0311250189940133  B   53
161 2018-05-01 07:31:00 3.0278749962647757  B   54
162 2018-05-01 07:32:00 3.026416619618734   B   55
163 2018-05-01 07:33:00 3.0073334177335105  B   56
164 2018-05-01 07:34:00 3.0283333361148834  B   57
165 2018-05-01 07:35:00 3.0268333156903586  B   58
166 2018-05-01 07:36:00 3.0359583099683127  B   59
167 2018-05-01 07:37:00 3.0310832361380258  B   60
168 2018-05-01 07:38:00 3.0232499639193215  B   61
169 2018-05-01 07:39:00 3.0258750120798745  B   62
170 2018-05-01 07:40:00 3.048666755358378   B   63
171 2018-05-01 07:41:00 3.0416250129540763  B   64
172 2018-05-01 07:42:00 3.0280833343664804  B   65
173 2018-05-01 07:43:00 3.0271250307559967  B   66
174 2018-05-01 07:44:00 3.0204999844233194  B   67
175 2018-05-01 07:45:00 3.0249999463558197  B   68
176 2018-05-01 07:46:00 3.0264166494210563  B   69
177 2018-05-01 07:47:00 3.0191666384538016  B   70
178 2018-05-01 07:48:00 3.03249990940094    B   71
179 2018-05-01 07:49:00 3.04025000333786    B   72
180 2018-05-01 07:50:00 3.0262083609898887  B   73
181 2018-05-01 07:51:00 3.0421666502952576  B   74
182 2018-05-01 07:52:00 3.026083320379257   B   75
183 2018-05-01 07:53:00 3.015916734933853   B   76
184 2018-05-01 07:54:00 3.037125051021576   B   77
185 2018-05-01 07:55:00 3.0373750229676566  B   78
186 2018-05-01 07:56:00 3.029458353916804   B   79
187 2018-05-01 07:57:00 3.0207917292912803  B   80
188 2018-05-01 07:58:00 3.0240416824817657  B   81
189 2018-05-01 07:59:00 3.0232083996136985  B   82
190 2018-05-01 08:00:00 3.027666707833608   B   83
191 2018-05-01 08:01:00 3.020083318154017   C   1
192 2018-05-01 08:02:00 3.0192916889985404  C   1
193 2018-05-01 08:03:00 1.9129582916696866  C   2
194 2018-05-01 08:04:00 0.25358333881013095 C   3
195 2018-05-01 08:05:00 0.0 C   4
196 2018-05-01 08:06:00 0.0 C   5
197 2018-05-01 08:07:00 0.0 C   6
198 2018-05-01 08:08:00 0.0 C   7
199 2018-05-01 08:09:00 0.0 C   8

我想将条件B分成较小的组,以便将其每30分钟划分一次,从第一个四舍五入的时间开始,在最后一个四舍五入的时间结束该划分,然后将相应子项的值相加期。其他条件A,C在没有此细分的情况下进行了分组,但仍保持它们的顺序。

它看起来像:

date                      condition        count        value      
01,01,2018 06:29             A               7           17
01,01,2018 06:36             B               24          101
01,01,2018 07:00             B               30          250
01,01,2018 07:30             B               30          272
01,01,2018 08:00             B               30          300
01,01,2018 08:01             B               1           4
01,01,2018 08:02             C               8           12
01,01,2018 06:30             A               8           17
01,01,2018 06:38             B               22          101
01,01,2018 07:00             B               30          250
01,01,2018 07:30             B               30          272
01,01,2018 08:00             B               30          300
01,01,2018 08:01             C               8           12

请注意,在第一个细分的末尾,结束时间不是四舍五入的时间,因此其余部分(从8:01到8:01为1分钟)是另一个子组。也许我应该在初始分组之前完成此操作。 任何想法?谢谢您的时间!

0 个答案:

没有答案