Source code for nvm.aux_pandas.aux_pandas

#!/usr/bin/env python3

import numpy as np
import pandas as pd
from contextlib import ExitStack
from IPython.core.display import display

from sklearn.datasets import load_wine


wine_ds = load_wine()
wine_df = pd.DataFrame(
    data=np.c_[wine_ds["data"], wine_ds["target"]],
    columns=wine_ds["feature_names"] + ["target"],
)


[docs]def fix_column_names(df0, lowercase=False): df0.columns = df0.columns.str.strip() df0.columns = df0.columns.map(lambda x: x.replace(" ", "_")) df0.columns = df0.columns.map(lambda x: x.replace("-", "_")) df0.columns = df0.columns.map(lambda x: x.replace(".", "_")) if lowercase: df0.columns = df0.columns.map(str.lower) return df0
def _context_pandas( max_columns=222, max_colwidth=44, width=2222, max_rows=44, min_rows=33, ): """Apply custom context to dataframe representation (ExitStack).""" return [ pd.option_context("display.max_columns", max_columns), pd.option_context("display.max_colwidth", max_colwidth), pd.option_context("display.width", width), pd.option_context("display.max_rows", max_rows), pd.option_context("display.min_rows", min_rows), ]
[docs]def disp_df(df0, **opt): """Display DF using custom formatting context. Examples -------- >>> import numpy as np >>> import pandas as pd >>> from nvm import disp_df >>> from nvm.aux_pandas import wine_df >>> disp_df(df0) """ with ExitStack() as stack: _ = [stack.enter_context(cont) for cont in _context_pandas(**opt)] display(df0)
[docs]def repr_df(df0, **opt): """Get DF repr using custom formatting context. Examples -------- >>> import numpy as np >>> import pandas as pd >>> from nvm import disp_df >>> from nvm.aux_pandas import wine_df >>> print(repr_df(df0)) """ with ExitStack() as stack: _ = [stack.enter_context(cont) for cont in _context_pandas(**opt)] return str(df0)