В Pandas есть метод DataFrame.shift(n), который сдвигает содержимое массива на n строк относительно индекса аналогично np.roll(a, n). Кажется, я не могу найти способ заставить подобное поведение работать с Dask. Я понимаю, что такими вещами, как сдвиги строк, может быть сложно управлять с помощью системы Dask, разбитой на блоки, но я не знаю лучшего способа сравнить каждую строку с последующей.
Что я хотел бы сделать, так это:
import numpy as np
import pandas as pd
import dask.DataFrame as dd
with pd.HDFStore(path) as store:
data = dd.from_hdf(store, 'sim')[col1]
shifted = data.shift(1)
idx = data.apply(np.sign) != shifted.apply(np.sign)
для создания логического ряда, указывающего места изменения знака в данных. (Я знаю, что этот метод также будет улавливать изменения от значения со знаком до нуля). Затем я бы использовал логический ряд для индексации другого фрейма данных Dask для построения графика.
shifted = data.sign() != data.sign().shift()
должно работать, а не использоватьapply
- person EdChum   schedule 11.12.2015