# Path: impyute/ops/matrix.py
# def nan_indices(data):
# def map_nd(fn, arr):
# def every_nd(fn, arr):
# 
# Path: impyute/ops/wrapper.py
# @wraps(fn)
# def wrapper(*args, **kwargs):
#     postprocess_fn = None
#     ## convert tuple to list so args can be modified
#     args = list(args)
#     ## Either make a copy or use a pointer to the original
#     if kwargs.get('inplace'):
#         args[0] = args[0]
#     else:
#         args[0] = args[0].copy()
# 
#     ## If input data is a dataframe then cast the input to an np.array
#     ## and set an indicator flag before continuing
#     pd_DataFrame = get_pandas_df()
#     if pd_DataFrame and isinstance(args[0], pd_DataFrame):
#         postprocess_fn = pd_DataFrame
#         args[0] = args[0].values
# 
#     ## function invokation
#     results = u.execute_fn_with_args_and_or_kwargs(fn, args, kwargs)
# 
#     ## cast the output back to a DataFrame.
#     if postprocess_fn is not None:
#         results = postprocess_fn(results)
# 
#     return results


import numpy as np
from impyute.ops import matrix
from impyute.ops import wrapper
# pylint: disable=invalid-name, too-many-arguments, too-many-locals, too-many-branches, broad-except, len-as-condition

@wrapper.wrappers
@wrapper.checks
def moving_window(data, nindex=None, wsize=5, errors="coerce", func=np.mean,

# Path: impyute/ops/matrix.py
# def nan_indices(data):
# def map_nd(fn, arr):
# def every_nd(fn, arr):
# 
# Path: impyute/ops/wrapper.py
# @wraps(fn)
# def wrapper(*args, **kwargs):
#     postprocess_fn = None
#     ## convert tuple to list so args can be modified
#     args = list(args)
#     ## Either make a copy or use a pointer to the original
#     if kwargs.get('inplace'):
#         args[0] = args[0]
#     else:
#         args[0] = args[0].copy()
# 
#     ## If input data is a dataframe then cast the input to an np.array
#     ## and set an indicator flag before continuing
#     pd_DataFrame = get_pandas_df()
#     if pd_DataFrame and isinstance(args[0], pd_DataFrame):
#         postprocess_fn = pd_DataFrame
#         args[0] = args[0].values
# 
#     ## function invokation
#     results = u.execute_fn_with_args_and_or_kwargs(fn, args, kwargs)
# 
#     ## cast the output back to a DataFrame.
#     if postprocess_fn is not None:
#         results = postprocess_fn(results)
# 
#     return results


# Path: impyute/imputation/ts/moving_window.py
import numpy as np
from impyute.ops import matrix
from impyute.ops import wrapper

# pylint: disable=invalid-name, too-many-arguments, too-many-locals, too-many-branches, broad-except, len-as-condition

@wrapper.wrappers
@wrapper.checks
def moving_window(data, nindex=None, wsize=5, errors="coerce", func=np.mean,

        inplace=False):