Когда Data Group by, Как я могу накапливать миллисекунды в пандах DataFrame? - PullRequest
0 голосов
/ 15 мая 2018

Когда данные с использованием группировки по группам, как я могу накопить миллисекунды в df?

Входы ниже.

Входы:

time                        key            isValue
2018-03-04 00:00:06.520      1               NaN
2018-03-04 00:00:07.230      1               NaN
2018-03-04 00:00:08.140      1                1
2018-03-04 00:00:08.720      1                1
2018-03-04 00:00:09.110      1                1
2018-03-04 00:00:09.650      1               NaN
2018-03-04 00:00:10.360      1               NaN
2018-03-04 00:00:11.150      1               NaN
2018-03-04 00:00:11.770      2               NaN
2018-03-04 00:00:12.320      2               NaN
2018-03-04 00:00:12.910      2                1
2018-03-04 00:00:13.250      2                1
2018-03-04 00:00:13.960      2                1
2018-03-04 00:00:14.550      2               NaN
2018-03-04 00:00:15.250      2               NaN
....

И я хочу, чтобы здесь были результаты.

1010 * выходы *

key : time
1 : 1.030
2 : 1.050
3 : X.xxx
4 : X.xxx
....

Хорошо, я использую этот код

df.groupby(["key"])["time"].cumsum()

Не правильный код, как мне кажется.

1 Ответ

0 голосов
/ 15 мая 2018

Я думаю, что нужно:

df['new'] = df["time"].dt.microsecond.groupby(df["key"]).cumsum() / 1000
print (df)
                      time  key  isValue     new
0  2018-03-04 00:00:06.520    1      NaN   520.0
1  2018-03-04 00:00:07.230    1      NaN   750.0
2  2018-03-04 00:00:08.140    1      1.0   890.0
3  2018-03-04 00:00:08.720    1      1.0  1610.0
4  2018-03-04 00:00:09.110    1      1.0  1720.0
5  2018-03-04 00:00:09.650    1      NaN  2370.0
6  2018-03-04 00:00:10.360    1      NaN  2730.0
7  2018-03-04 00:00:11.150    1      NaN  2880.0
8  2018-03-04 00:00:11.770    2      NaN   770.0
9  2018-03-04 00:00:12.320    2      NaN  1090.0
10 2018-03-04 00:00:12.910    2      1.0  2000.0
11 2018-03-04 00:00:13.250    2      1.0  2250.0
12 2018-03-04 00:00:13.960    2      1.0  3210.0
13 2018-03-04 00:00:14.550    2      NaN  3760.0
14 2018-03-04 00:00:15.250    2      NaN  4010.0
...