Как преобразовать объект DatetimeIndexResamplerGroupby в фрейм данных? - PullRequest
2 голосов
/ 21 апреля 2020

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

test_data=test_data.groupby('entity_id').resample('S', fill_method='ffill')

Вывод: <pandas.core.resample.DatetimeIndexResamplerGroupby object at 0x1a1f64f588> Как я могу преобразовать этот объект во фрейм данных?

Я пробовал: test_data = pd.DataFrame(test_data) после выполнения последней команды, но она возвращает фрейм данных, который имеет индекс и список всех других элементов этой строки.

1 Ответ

0 голосов
/ 21 апреля 2020

Использование ffill метод:

test_data = pd.DataFrame({
    'entity_id': ['a','a','a','a','b','b','b','c','d'],
    'data':range(9)}, 
     index=pd.date_range('2018-01-01', periods=9, freq='3S'))
print (test_data)
                    entity_id  data
2018-01-01 00:00:00         a     0
2018-01-01 00:00:03         a     1
2018-01-01 00:00:06         a     2
2018-01-01 00:00:09         a     3
2018-01-01 00:00:12         b     4
2018-01-01 00:00:15         b     5
2018-01-01 00:00:18         b     6
2018-01-01 00:00:21         c     7
2018-01-01 00:00:24         d     8

test_data=test_data.groupby('entity_id')['data'].resample('S').ffill()
print (test_data)
entity_id                     
a          2018-01-01 00:00:00    0
           2018-01-01 00:00:01    0
           2018-01-01 00:00:02    0
           2018-01-01 00:00:03    1
           2018-01-01 00:00:04    1
           2018-01-01 00:00:05    1
           2018-01-01 00:00:06    2
           2018-01-01 00:00:07    2
           2018-01-01 00:00:08    2
           2018-01-01 00:00:09    3
b          2018-01-01 00:00:12    4
           2018-01-01 00:00:13    4
           2018-01-01 00:00:14    4
           2018-01-01 00:00:15    5
           2018-01-01 00:00:16    5
           2018-01-01 00:00:17    5
           2018-01-01 00:00:18    6
c          2018-01-01 00:00:21    7
d          2018-01-01 00:00:24    8
Name: data, dtype: int64
...