как использовать пакет tsfre sh python для извлечения функций из данных временных рядов? - PullRequest
0 голосов
/ 28 мая 2020

У меня есть список списков, где каждый список представляет собой временной ряд:

tsli=[[43,65,23,765,233,455,7,32,57,78,4,32],[34,32,565,87,23,86,32,56,32,57,78,32],[87,43,12,46,32,46,13,23,6,90,67,8],[1,2,3,3,4,5,6,7,8,9,0,9],[12,34,56,76,34,12,45,67,34,21,12,22]]

Я хочу извлечь функцию из этого набора данных с помощью пакета tsfre sh, используя код:

import tsfresh
tf=tsfresh.extract_features(tsli)

Когда я запускаю его, я получаю ошибку Value, которая:

> ValueError: You have to set the column_id which contains the ids of the different time series
But i don't know how to deal with this and how to define column id for this problem.

EDIT 1: Как было предложено, я попытался преобразовать набор данных в данные, а затем попытался:

import tsfresh
df=pd.DataFrame(tsli)
tf=tsfresh.extract_features(df)

, но ошибка значения такая же

> ValueError: You have to set the column_id which contains the ids of the different time series

Любые ресурсы или ссылки будут полезны.

Спасибо

1 Ответ

1 голос
/ 28 мая 2020

Сначала вам нужно преобразовать list в dataframe, где каждый временной ряд имеет уникальный идентификатор, например

df = pd.DataFrame()
for i, ts in enumerate(tsli):
    data = [[x, i] for x in ts]
    df = df.append(data, ignore_index=True)
df.columns = ['value', 'id']

enter image description here ... enter image description here

Теперь вы можете использовать tsfre sh с аргументом column_id в созданном столбце:

tf=tsfresh.extract_features(df, column_id='id')


>> Feature Extraction: 100%|██████████| 5/5 [00:00<00:00, 36.83it/s]

Другой пример: tsfre sh Быстрый старт

...