2013-08-07 2 views
0

Я рисую там (http://db.tt/9SG85XFK) a data data frame; индекс «метки времени» с двумя переменными (нанесены как синие и зеленые кривые).Расщепление временных рядов с использованием переменной вариации, в пандах

Я хотел бы извлечь подмножества этого кадра данных, для которых переменная синей кривой более или менее постоянна (std.variation ниже определенного значения?).

Следовательно, для прилагаемого графика он будет извлекать 3 разных подмножества ~ (41000: 41170, 41180: 41315 и 41320: 41580).

Есть ли чистый способ сделать это? Я мог бы сделать это через петлю, но ... не уверен, что это правильный путь.

Спасибо,

N

+0

Вы пробовали что-нибудь? – Nadh

ответ

1

Вы, вероятно, хотите функциональность функции rolling_std.

Укажите ширину интервала вы хотите проверить на стандартное отклонение (скажем, 100 точек данных), выберите соответствующее стандартное отклонение (скажем, 10) и сделать:

import pandas as pd 
s = pd.Series(the way you get your data) 
std = pd.rolling_std(s, 100) 
selected = s[std < 10] 

И вы получите все точки данных, которые имеют стандартное отклонение менее 10 в окружении 100 точек данных.

Смежные вопросы