Панды: сжатие двух близких временных рядов - PullRequest
0 голосов
/ 26 октября 2018
       id               timestamp  value1               value2
0         A 2000-01-01 0:00:49.345            0  14319414583119773928
1         A 2000-01-01 0:00:49.353            3                     0
2         A 2000-01-01 0:00:50.346            0  14319414565939874728
3         A 2000-01-01 0:00:50.354            3                     0
...
  • Формат находится во фрейме данных pandas.
  • Я бы хотел сжать строки, используя поля отметок времени, когда меньше Xsec, и использовать максимальное значение1 и значение2.

Например,

        id               timestamp  value1               value2
0         A 2000-01-01 0:00:49.349            3  14319414583119773928
1         A 2000-01-01 0:00:50.350            3  14319414565939874728

Я пытался группировать, но это создает пустые сегменты, что нежелательно.Эти значения меток времени настолько близки, что я хотел бы иметь возможность рассматривать их как одно и то же.Можно присоединиться к любой временной метке или использовать среднюю точку между ними

1 Ответ

0 голосов
/ 26 октября 2018

Использование Grouper

df.value2=df.value2.astype(str)# why I change to str , cause the int is too big , when calculated panda push it to negative  
df.groupby([df.id,pd.Grouper(key='timestamp',freq='1s')]).max()
Out[326]: 
                       id  value1                value2
id timestamp                                           
A  2000-01-01 00:00:49  A       3  14319414583119773928
   2000-01-01 00:00:50  A       3  14319414565939874728
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...