timeseries-0.1.0: Library for Time Series processing

Safe HaskellNone
LanguageHaskell2010

Data.TimeSeries

Description

TimeSeries library

Synopsis

Documentation

data Series Source #

Instances

emptySeries :: Series Source #

Create empty series

max :: Series -> Value Source #

Return maximum value in the series Complexity O(n)

max (Series [DP 1 41.3, DP 2 52.22, DP 3 3.0]) == 52.22
max (Series []) == 0

min :: Series -> Value Source #

Return maximum value in the series Complexity O(n)

min (Series [DP 1 41.3, DP 2 52.22, DP 3 3.0]) == 3.0
min (Series []) == 0

series :: [(UTCTime, Double)] -> Series Source #

Create empty series

size :: Series -> Int Source #

Get series size. Complexity O(n)

size (Series [DP 1 41.3, DP 2 52.22, DP 3 3.0]) == 3

slice :: Series -> UTCTime -> UTCTime -> Series Source #

Return series subset Complexity O(n)

slice (Series [DP 1 41.3, DP 2 52.22, DP 3 3.0]) 2 3 == Series [DP 2 52.22, DP 3 3.0]
slice (Series [DP 1 41.3, DP 2 52.22, DP 3 3.0]) 5 23 == Series []

tsSeries :: [Integer] -> [Value] -> Series Source #

Create time series from timestamps and values

seriesFromSeconds [1, 2, 3] [41.3, 52.22, 3.0] == Series [DP 1970-01-01 00:00:01 UTC 2.3,DP 1970-01-01 00:00:02 UTC 4.5]

valueAt :: Series -> UTCTime -> Maybe Value Source #

Return data point value at given index Complexity O(n)

valueAt (Series [DP 1 41.3, DP 2 52.22, DP 3 3.0]) 2 == Just 52.22
valueAt (Series [DP 1 41.3, DP 2 52.22, DP 3 3.0]) 5 == Nothing

load :: (Text -> UTCTime) -> FilePath -> IO Series Source #

Load data from CSV file and create Time Series from it As a first argument provide function to convert date from ByteString to UTCTime