Time series dataset for torch.
Project description
Time Series Dataset
Description
Time series dataset for Time series predictor
Installation
pip install time-series-dataset
Usage example
""" FlightsDataset """ import calendar import math import numpy as np import pandas as pd import seaborn as sns from datetime import datetime from time_series_dataset import TimeSeriesDataset def _raw_make_predictor(features, *reshape_args): #pylint: disable=too-many-function-args return np.concatenate(features, axis=-1).reshape( list(reshape_args) + [len(features)]).astype(np.float32) def _make_predictor(features, number_of_training_examples): #pylint: disable=too-many-function-args return _raw_make_predictor(features, number_of_training_examples, -1) def _get_labels(input_features, output_features): def _features_to_label_list(features): return [list(feature)[0] for feature in features] labels = {} labels['x'] = _features_to_label_list(input_features) labels['y'] = _features_to_label_list(output_features) return labels class FlightsDataset(TimeSeriesDataset): """ FlightsDataset class :param except_last_n: initialize the FlightsDataset without n last months """ # pylint: disable=too-many-locals def __init__(self, except_last_n=0): flights_dataset = sns.load_dataset("flights") chopped_flights_dataset = flights_dataset[:len( flights_dataset)-except_last_n] passengers = chopped_flights_dataset['passengers'] month = chopped_flights_dataset['month'] year = chopped_flights_dataset['year'] months_3l = [month_name[0:3] for month_name in list(calendar.month_name)] month_number = [months_3l.index(_month) for _month in month] passengers_df = pd.DataFrame(passengers) month_number_df = pd.DataFrame(data={'month_number': month_number}) year_df = pd.DataFrame(year) number_of_training_examples = 1 # Store month_number and year as _x input_features = [month_number_df, year_df] _x = _make_predictor(input_features, number_of_training_examples) # Store passengers as _y output_features = [passengers_df] _y = _make_predictor(output_features, number_of_training_examples) super().__init__(_x, _y, _get_labels(input_features, output_features)) self.month_number_df = month_number_df self.year_df = year_df # pylint: disable=arguments-differ def make_future_dataframe(self, number_of_months, include_history=True): """ make_future_dataframe :param number_of_months: number of months to predict ahead :param include_history: optional, selects if training history is to be included or not :returns: future dataframe with the selected amount of months """ def create_dataframe(name, data): return pd.DataFrame(data={name: data}) def create_month_dataframe(data): return create_dataframe('month_number', data) def create_year_dataframe(data): return create_dataframe('year', data) month_number_df = self.month_number_df year_df = self.year_df last_month = month_number_df.values[-1][0] last_year = year_df.values[-1][0] if not include_history: month_number_df = create_month_dataframe([]) year_df = create_year_dataframe([]) for i in range(number_of_months): month_index = last_month+i new_months = [math.fmod(month_index, 12)+1] new_years = [last_year + math.floor(month_index / 12)] month_number_df = month_number_df.append( create_month_dataframe(new_months), ignore_index=True) year_df = year_df.append( create_year_dataframe(new_years), ignore_index=True) input_features = [month_number_df, year_df] return _make_predictor(input_features, 1) def convert_year_month_array_to_datetime(year_month_array): def convert_singe_year_month_array_to_datetime(single_year_month_array): return datetime(year=single_year_month_array[1], month=single_year_month_array[0], day=15) year_month_array_size = year_month_array.size if year_month_array_size == 2: return convert_singe_year_month_array_to_datetime(year_month_array) return [convert_singe_year_month_array_to_datetime(year_month_array[idx, ...]) for idx in range(len(year_month_array))]
Oze dataset history
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for time_series_dataset-0.0.9.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 435d580255ae0529d117ee07c759fa446696f8e6383920c719ef5b0dc6227010 |
|
MD5 | 9a74faf811e5afde746ef2ad036f7b0f |
|
BLAKE2-256 | dbc85b5bd28805f2de32e16205f48dbf2650f3746195e89507c3071502223fad |
Close
Hashes for time_series_dataset-0.0.9-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d49c5469dfa7e539b6a6d5ca022962b9ea1104d1954c725236e7e414bb2b350e |
|
MD5 | 350f4fce42bd20dba69681bddaa891e6 |
|
BLAKE2-256 | ca0df0a8cdf08d14d62af04f65bf46c52593c7f5b4e5b6273e4449a7d7f89f9c |