I integrated Skimpy with Buckaroo (a datatable UI)
I created Buckaroo to better visualize dataframes in jupyter. Buckaroo has a modern, performant UI that lets you scroll through tables, sort by column, and see summary stats.
Buckaroo is extensible with your own styling and post processing functions.
To integrate skimpy, I modified _skim_computation so it returns a dictionary of dataframes instead of Table objects. Then I hooked these into post processing functions.
Here is a video showing the integration.
https://www.youtube.com/watch?v=1-xha8F1kko
This is very cool! I ran the main example just fine. Would you like me to change the internals of skimpy to make it easier for you to have a productionised integration option for people to get a skim summary when using buckaroo? I'm up for that. I did wonder if you could hook buckaroo directly in from skim_get_data()? Only other thought is it's not clear how to get to the summary tables unless you already know where to click.
I'm glad this worked for you. I just played with skim_get_data() a little bit. It is indeed cleaner, but there are a couple of glitches
def get_skim_df_dict(df):
nested_dicts = skimpy.skim_get_data(df)
ret_dfs = {}
for k, v in nested_dicts.items():
try:
ret_dfs[k] = pd.DataFrame(v)
except Exception as e:
print(k, e)
return ret_dfs
Throws the following errors
Data Summary If using all scalar values, you must pass an index
Data Types If using all scalar values, you must pass an index
Categories 'set' type is unordered
I think it would be an improvement if every value returned from skim_get_data could be instantiated as a dataframe.