plans.datasets.chrono#

Handle chronological (time series) datasets.

Overview#

# todo [major docstring improvement] – overview Mauris gravida ex quam, in porttitor lacus lobortis vitae. In a lacinia nisl. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

Example#

# todo [major docstring improvement] – examples Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla mollis tincidunt erat eget iaculis. Mauris gravida ex quam, in porttitor lacus lobortis vitae. In a lacinia nisl.

import numpy as np
print("Hello World!")

Mauris gravida ex quam, in porttitor lacus lobortis vitae. In a lacinia nisl. Mauris gravida ex quam, in porttitor lacus lobortis vitae. In a lacinia nisl.

Classes

ETSeries([name, alias])

A class for representing and working with PET data.

RainSeries([name, alias])

A class for representing and working with rainfall time series data.

RainSeriesSamples([name])

StageSeries([name, alias])

A class for representing and working with river stage time series data.

StageSeriesCollection([name])

StreamflowTimeSeries([name, alias])

A class for representing and working with streamflow time series data.

TemperatureSeries([name, alias])

A class for representing and working with temperature time series data.

TemperatureSeriesSamples([name])

class plans.datasets.chrono.RainSeries(name='MyRainfallSeries', alias=None)[source]#

Bases: TimeSeries

A class for representing and working with rainfall time series data.

Notes

todo notes

Examples

todo examples

__init__(name='MyRainfallSeries', alias=None)[source]#

Initialize the DataSet object.

Parameters:
  • name (str) – unique object name

  • alias (str) – unique object alias. If None, it takes the first and last characters from name

interpolate_gaps(inplace=False, method=None)[source]#

Fills gaps in a time series using various interpolation methods.

Parameters:
  • method (str) – Specifies the interpolation method. The default value is linear.

  • constant (float) – The constant value used when the constant method is selected. Default value = 0.

  • inplace (bool) – If True, modifies the original DataFrame in-place. Default value = False.

Returns:

A new pandas.DataFrame with interpolated values if inplace is False, otherwise None.

Return type:

pandas.DataFrame or None

Notes

This function handles time series data, standardizing it if necessary before performing interpolation. The process is applied to each unique epoch within the series.

  • linear: linear interpolation

  • nearest: uses the value of the closest data point.

  • zero: fills gaps with zeros.

  • constant: fills gaps with a constant value provided in method parameter

  • slinear: first order spline interpolation

  • quadratic: second order spline interpolation

  • cubic: third order spline interpolation

_set_frequency()[source]#

Guess the datetime resolution of a time series based on the consistency of timestamp components (e.g., seconds, minutes).

Caution

This method infers the datetime frequency of the time series data based on the consistency of timestamp components.

class plans.datasets.chrono.TemperatureSeries(name='MyTemperatureSeries', alias=None)[source]#

Bases: TimeSeries

A class for representing and working with temperature time series data.

Notes

todo notes

Examples

todo examples

__init__(name='MyTemperatureSeries', alias=None)[source]#

Initialize the DataSet object.

Parameters:
  • name (str) – unique object name

  • alias (str) – unique object alias. If None, it takes the first and last characters from name

class plans.datasets.chrono.ETSeries(name='MyETSeries', alias=None)[source]#

Bases: TimeSeries

A class for representing and working with PET data.

Notes

todo notes

Examples

todo examples

__init__(name='MyETSeries', alias=None)[source]#

Initialize the DataSet object.

Parameters:
  • name (str) – unique object name

  • alias (str) – unique object alias. If None, it takes the first and last characters from name

class plans.datasets.chrono.StageSeries(name='MyStageSeries', alias=None)[source]#

Bases: TimeSeries

A class for representing and working with river stage time series data.

Notes

todo notes

Examples

todo examples

__init__(name='MyStageSeries', alias=None)[source]#

Initialize a StageSeries object.

get_metadata()[source]#

Get a dictionary with object metadata. Expected to increment superior methods.

Note

Metadata does not necessarily inclue all object attributes.

Returns:

dictionary with all metadata

Return type:

dict

class plans.datasets.chrono.StreamflowTimeSeries(name='MyFlowSeries', alias=None)[source]#

Bases: TimeSeries

A class for representing and working with streamflow time series data.

Notes

todo notes

Examples

todo examples

__init__(name='MyFlowSeries', alias=None)[source]#

Initialize a FlowSeries object.

Parameters:
  • name (str) – str, optional Name of the streamflow series. Default is “MyFlowSeries”.

  • alias – str, optional Alias for the flow

static view_cfcs(freqs, specs=None, show=True, colors=None, labels=None)[source]#
class plans.datasets.chrono.RainSeriesSamples(name='MyRSColection')[source]#

Bases: TimeSeriesSpatialSamples

__init__(name='MyRSColection')[source]#

Deploy the time series collection data structure.

Parameters:
  • name (str) – Name of the time series collection. Default is “myTSCollection”.

  • base_object (TimeSeries or None) – Base object for the time series collection. If None, a default TimeSeries object is created. Default is None.

Notes

  • If base_object is not provided, a default TimeSeries object is created.

class plans.datasets.chrono.TemperatureSeriesSamples(name='MyTempSColection')[source]#

Bases: TimeSeriesSpatialSamples

__init__(name='MyTempSColection')[source]#

Deploy the time series collection data structure.

Parameters:
  • name (str) – Name of the time series collection. Default is “myTSCollection”.

  • base_object (TimeSeries or None) – Base object for the time series collection. If None, a default TimeSeries object is created. Default is None.

Notes

  • If base_object is not provided, a default TimeSeries object is created.

class plans.datasets.chrono.StageSeriesCollection(name='MySSColection')[source]#

Bases: TimeSeriesCluster

__init__(name='MySSColection')[source]#

Deploy the time series collection data structure.

Parameters:
  • name (str) – Name of the time series collection. Default is “myTSCollection”.

  • base_object (TimeSeries or None) – Base object for the time series collection. If None, a default TimeSeries object is created. Default is None.

Notes

  • If base_object is not provided, a default TimeSeries object is created.

set_data(df_info, src_dir=None, filter_dates=None)[source]#

Set data for the time series collection from a info class:pandas.DataFrame.

Parameters:
  • df_info (class:pandas.DataFrame) – class:pandas.DataFrame containing metadata information for the time series collection. This DataFrame is expected to have matching fields to the metadata keys.

  • src_dir (str) – Path for inputs directory in the case for only file names in File column.

  • filter_dates (str) – List of Start and End dates for filter data

Notes

  • The set_data method populates the time series collection with data based on the provided DataFrame.

  • It creates time series objects, loads data, and performs additional processing steps.

  • Adjust skip_process according to your data processing needs.

Examples

ts_collection.set_data(df, "path/to/data", filter_dates=["2020-01-01 00:00:00", "2020-03-12 00:00:00"])