def rolling_window_sequences(X, window_size, target_size, value_column, time_column):
    """
        Function that takes in a pandas.DataFrame and a window_size then creates
            output arrays that correspond to a timeseries sequence with window_size overlap.
            The output arrays can be fed into a timeseries forecasting model.
            Assumes the input is timeseries sorted.
        Args:
            X (pandas.DataFrame): a pandas dataframe which has 'timestamp'
                and 'value' columns, and is sorted based on timestamp.
                The timestamp column is in UNIX format (in seconds).
            window_size (int): number of values that overlap to create the sequence.
            value_column (string): name of column that has the value field.
            time_column (string): name of column that has the time field.
        Returns:
            (numpy.ndarray): contains the time series sequenced data with each
                entry having window_size rows.
            (numpy.ndarray): acts as the label for the forecasting problem with
                each entry having window_size rows.
            (numpy.ndarray): the corresponding timestamps series.
    """
    output_X = []
    y = []
    time = []
    for start in range(len(X) - window_size - target_size):
        end = start + window_size
        output_X.append(X.iloc[start:end][value_column].values.reshape([-1, 1]))
        y.append(X.iloc[end:end + target_size][value_column].values)
        time.append(X.iloc[end + 1][time_column])

    return np.asarray(output_X), np.asarray(y), np.asarray(time)
Function that takes in a pandas.DataFrame and a window_size then creates
            output arrays that correspond to a timeseries sequence with window_size overlap.
            The output arrays can be fed into a timeseries forecasting model.
            Assumes the input is timeseries sorted.
        Args:
            X (pandas.DataFrame): a pandas dataframe which has 'timestamp'
                and 'value' columns, and is sorted based on timestamp.
                The timestamp column is in UNIX format (in seconds).
            window_size (int): number of values that overlap to create the sequence.
            value_column (string): name of column that has the value field.
            time_column (string): name of column that has the time field.
        Returns:
            (numpy.ndarray): contains the time series sequenced data with each
                entry having window_size rows.
            (numpy.ndarray): acts as the label for the forecasting problem with
                each entry having window_size rows.
            (numpy.ndarray): the corresponding timestamps series.