messiest
12/20/2017 - 6:34 PM

bootstrap samples

bootstrap samples

def bootstrap(df, n, to_df=True):
    """
    generate n bootstraped samples from a DataFrame
    
    """
    assert isinstance(df, type(pd.DataFrame())),\
        f"Expected pandas.DataFrame, got type: {type(df)}"

    sample = {column: np.random.choice(df[column], size=int(n)) for column in df.columns}  # column: bootstrap sample
    if to_df: sample = pd.DataFrame.from_dict(sample)   # convert to DataFrame

    return sample