Панды На сегодняшний день & Cumsum Milliseconds - PullRequest
0 голосов
/ 08 мая 2018

У меня есть несколько вопросов.

Сначала , я хочу указать дату и время в панде.

вот так ... 2018/03/06 00: 01: 27: 744

Как я могу заменить это время?

А потом .. Второй ..

        Time                  Sensor1         Sensor2    TimeCumsum
2018/03/06 00:01:27:744         0               1            
2018/03/06 00:01:27:759         0               1
2018/03/06 00:01:27:806         0               1            0.15
2018/03/06 00:01:27:838         1               1    
2018/03/06 00:01:28:009         1               1            0.2
2018/03/06 00:01:28:056         1               0            ...

Я хочу, чтобы Time Seconds cumsum, когда Sensor1 равен 0, а Sensor2 равен 1.

Как я могу это сделать?

Спасибо.

1 Ответ

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

Я считаю нужным:

df['Time'] = pd.to_datetime(df['Time'], format='%Y/%m/%d %H:%M:%S:%f')

m = (df['Sensor1'].eq(0) & df['Sensor2'].eq(1))
df['col'] = df.loc[m, 'Time'].dt.microsecond.cumsum() // 10**3
print (df)
                     Time  Sensor1  Sensor2     col
0 2018-03-06 00:01:27.744        0        1   744.0
1 2018-03-06 00:01:27.759        0        1  1503.0
2 2018-03-06 00:01:27.806        0        1  2309.0
3 2018-03-06 00:01:27.838        1        1     NaN
4 2018-03-06 00:01:28.009        1        1     NaN
5 2018-03-06 00:01:28.056        1        0     NaN
...