Python Dtale Car Crashes Data evaluation

Car Crashes Data Reporting in Python with Dtale

February 28, 2021 · 11 mins read

Dtale-sns-car-crashes

pip install --upgrade pip
Collecting pip
  Downloading pip-20.3.1-py2.py3-none-any.whl (1.5 MB)
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 20.2.4
    Uninstalling pip-20.2.4:
      Successfully uninstalled pip-20.2.4
Successfully installed pip-20.3.1
Note: you may need to restart the kernel to use updated packages.
import seaborn as sns
import dtale
import numpy as np
import pandas as pd 
print(sns.get_dataset_names())
['anagrams', 'anscombe', 'attention', 'brain_networks', 'car_crashes', 'diamonds', 'dots', 'exercise', 'flights', 'fmri', 'gammas', 'geyser', 'iris', 'mpg', 'penguins', 'planets', 'tips', 'titanic']
df = sns.load_dataset('car_crashes')
df.head()
total speeding alcohol not_distracted no_previous ins_premium ins_losses abbrev
0 18.8 7.332 5.640 18.048 15.040 784.55 145.08 AL
1 18.1 7.421 4.525 16.290 17.014 1053.48 133.93 AK
2 18.6 6.510 5.208 15.624 17.856 899.47 110.35 AZ
3 22.4 4.032 5.824 21.056 21.280 827.34 142.39 AR
4 12.0 4.200 3.360 10.920 10.680 878.41 165.63 CA
report = dtale.show(df)
report
# DISCLAIMER: 'df' refers to the data you passed in when calling 'dtale.show'

if isinstance(df, (pd.DatetimeIndex, pd.MultiIndex)):
	df = df.to_frame(index=False)

# remove any pre-existing indices for ease of use in the D-Tale code, but this is not required
df = df.reset_index().drop('index', axis=1, errors='ignore')
df.columns = [str(c) for c in df.columns]  # update columns to strings in case they are numbers

chart = np.histogram(df[~pd.isnull(df['total'])][['total']], bins=20)
# main statistics
stats = df['total'].describe().to_frame().T
stats
count mean std min 25% 50% 75% max
total 51.0 15.790196 4.122002 5.9 12.75 15.6 18.5 23.9
# DISCLAIMER: 'df' refers to the data you passed in when calling 'dtale.show'

import pandas as pd

if isinstance(df, (pd.DatetimeIndex, pd.MultiIndex)):
	df = df.to_frame(index=False)

# remove any pre-existing indices for ease of use in the D-Tale code, but this is not required
df = df.reset_index().drop('index', axis=1, errors='ignore')
df.columns = [str(c) for c in df.columns]  # update columns to strings in case they are numbers

chart_data = pd.concat([
	df['speeding'],
	df['alcohol'],
], axis=1)
chart_data = chart_data.sort_values(['speeding'])
chart_data = chart_data.rename(columns={'speeding': 'x'})
chart_data = chart_data.dropna()
chart_data = chart_data.sort_values('x')

import plotly.graph_objs as go

charts = []
charts.append(go.Bar(
	x=list(range(len(chart_data['x']))),
	y=chart_data['alcohol'],
	hovertext=chart_data['x'].values,
	hoverinfo='y_text')
              
figure = go.Figure(data=charts, layout=go.Layout({
    'barmode': 'group',
    'legend': {'orientation': 'h'},
    'title': {'text': 'alcohol by speeding (No Aggregation)'},
    'xaxis': {'nticks': 51, 'tickmode': 'auto', 'title': {'text': 'speeding'}},
    'yaxis': {'title': {'text': 'alcohol (No Aggregation)'}}}))

# If you're having trouble viewing your chart in your notebook try passing your 'chart' into this snippet:

# from plotly.offline import iplot, init_notebook_mode

# init_notebook_mode(connected=True)
# chart.pop('id', None) # for some reason iplot does not like 'id'
# iplot(chart)
  File "<ipython-input-18-ee26758b6fee>", line 30
    figure = go.Figure(data=charts, layout=go.Layout({
    ^
SyntaxError: invalid syntax



Exception on /dtale/charts/_dash-update-component [POST]
Traceback (most recent call last):
  File "C:\Python\Python38\lib\site-packages\flask\app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "C:\Python\Python38\lib\site-packages\flask\app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "C:\Python\Python38\lib\site-packages\flask\app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "C:\Python\Python38\lib\site-packages\flask\_compat.py", line 39, in reraise
    raise value
  File "C:\Python\Python38\lib\site-packages\flask\app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "C:\Python\Python38\lib\site-packages\flask\app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "C:\Python\Python38\lib\site-packages\dash\dash.py", line 1076, in dispatch
    response.set_data(func(*args, outputs_list=outputs_list))
  File "C:\Python\Python38\lib\site-packages\dash\dash.py", line 1007, in add_context
    output_value = func(*args, **kwargs)  # %% callback invoked %%
  File "C:\Python\Python38\lib\site-packages\dtale\dash_application\views.py", line 851, in group_values
    group_vals = build_group_val_options(group_vals, group_cols)
  File "C:\Python\Python38\lib\site-packages\dtale\dash_application\layout\layout.py", line 711, in build_group_val_options
    group_vals = find_group_vals(df, group_cols)
  File "C:\Python\Python38\lib\site-packages\dtale\charts\utils.py", line 651, in find_group_vals
    group_vals, _ = retrieve_chart_data(df, group_cols)
  File "C:\Python\Python38\lib\site-packages\dtale\charts\utils.py", line 246, in retrieve_chart_data
    all_data = pd.concat(all_data, axis=1)
  File "C:\Python\Python38\lib\site-packages\pandas\core\reshape\concat.py", line 271, in concat
    op = _Concatenator(
  File "C:\Python\Python38\lib\site-packages\pandas\core\reshape\concat.py", line 329, in __init__
    raise ValueError("No objects to concatenate")
ValueError: No objects to concatenate


2020-12-06 10:11:25,809 - ERROR    - Exception on /dtale/charts/_dash-update-component [POST]
Traceback (most recent call last):
  File "C:\Python\Python38\lib\site-packages\flask\app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "C:\Python\Python38\lib\site-packages\flask\app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "C:\Python\Python38\lib\site-packages\flask\app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "C:\Python\Python38\lib\site-packages\flask\_compat.py", line 39, in reraise
    raise value
  File "C:\Python\Python38\lib\site-packages\flask\app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "C:\Python\Python38\lib\site-packages\flask\app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "C:\Python\Python38\lib\site-packages\dash\dash.py", line 1076, in dispatch
    response.set_data(func(*args, outputs_list=outputs_list))
  File "C:\Python\Python38\lib\site-packages\dash\dash.py", line 1007, in add_context
    output_value = func(*args, **kwargs)  # %% callback invoked %%
  File "C:\Python\Python38\lib\site-packages\dtale\dash_application\views.py", line 851, in group_values
    group_vals = build_group_val_options(group_vals, group_cols)
  File "C:\Python\Python38\lib\site-packages\dtale\dash_application\layout\layout.py", line 711, in build_group_val_options
    group_vals = find_group_vals(df, group_cols)
  File "C:\Python\Python38\lib\site-packages\dtale\charts\utils.py", line 651, in find_group_vals
    group_vals, _ = retrieve_chart_data(df, group_cols)
  File "C:\Python\Python38\lib\site-packages\dtale\charts\utils.py", line 246, in retrieve_chart_data
    all_data = pd.concat(all_data, axis=1)
  File "C:\Python\Python38\lib\site-packages\pandas\core\reshape\concat.py", line 271, in concat
    op = _Concatenator(
  File "C:\Python\Python38\lib\site-packages\pandas\core\reshape\concat.py", line 329, in __init__
    raise ValueError("No objects to concatenate")
ValueError: No objects to concatenate


Exception on /dtale/charts/_dash-update-component [POST]
Traceback (most recent call last):
  File "C:\Python\Python38\lib\site-packages\flask\app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "C:\Python\Python38\lib\site-packages\flask\app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "C:\Python\Python38\lib\site-packages\flask\app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "C:\Python\Python38\lib\site-packages\flask\_compat.py", line 39, in reraise
    raise value
  File "C:\Python\Python38\lib\site-packages\flask\app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "C:\Python\Python38\lib\site-packages\flask\app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "C:\Python\Python38\lib\site-packages\dash\dash.py", line 1076, in dispatch
    response.set_data(func(*args, outputs_list=outputs_list))
  File "C:\Python\Python38\lib\site-packages\dash\dash.py", line 1007, in add_context
    output_value = func(*args, **kwargs)  # %% callback invoked %%
  File "C:\Python\Python38\lib\site-packages\dtale\dash_application\views.py", line 851, in group_values
    group_vals = build_group_val_options(group_vals, group_cols)
  File "C:\Python\Python38\lib\site-packages\dtale\dash_application\layout\layout.py", line 711, in build_group_val_options
    group_vals = find_group_vals(df, group_cols)
  File "C:\Python\Python38\lib\site-packages\dtale\charts\utils.py", line 651, in find_group_vals
    group_vals, _ = retrieve_chart_data(df, group_cols)
  File "C:\Python\Python38\lib\site-packages\dtale\charts\utils.py", line 246, in retrieve_chart_data
    all_data = pd.concat(all_data, axis=1)
  File "C:\Python\Python38\lib\site-packages\pandas\core\reshape\concat.py", line 271, in concat
    op = _Concatenator(
  File "C:\Python\Python38\lib\site-packages\pandas\core\reshape\concat.py", line 329, in __init__
    raise ValueError("No objects to concatenate")
ValueError: No objects to concatenate


2020-12-06 10:11:32,796 - ERROR    - Exception on /dtale/charts/_dash-update-component [POST]
Traceback (most recent call last):
  File "C:\Python\Python38\lib\site-packages\flask\app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "C:\Python\Python38\lib\site-packages\flask\app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "C:\Python\Python38\lib\site-packages\flask\app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "C:\Python\Python38\lib\site-packages\flask\_compat.py", line 39, in reraise
    raise value
  File "C:\Python\Python38\lib\site-packages\flask\app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "C:\Python\Python38\lib\site-packages\flask\app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "C:\Python\Python38\lib\site-packages\dash\dash.py", line 1076, in dispatch
    response.set_data(func(*args, outputs_list=outputs_list))
  File "C:\Python\Python38\lib\site-packages\dash\dash.py", line 1007, in add_context
    output_value = func(*args, **kwargs)  # %% callback invoked %%
  File "C:\Python\Python38\lib\site-packages\dtale\dash_application\views.py", line 851, in group_values
    group_vals = build_group_val_options(group_vals, group_cols)
  File "C:\Python\Python38\lib\site-packages\dtale\dash_application\layout\layout.py", line 711, in build_group_val_options
    group_vals = find_group_vals(df, group_cols)
  File "C:\Python\Python38\lib\site-packages\dtale\charts\utils.py", line 651, in find_group_vals
    group_vals, _ = retrieve_chart_data(df, group_cols)
  File "C:\Python\Python38\lib\site-packages\dtale\charts\utils.py", line 246, in retrieve_chart_data
    all_data = pd.concat(all_data, axis=1)
  File "C:\Python\Python38\lib\site-packages\pandas\core\reshape\concat.py", line 271, in concat
    op = _Concatenator(
  File "C:\Python\Python38\lib\site-packages\pandas\core\reshape\concat.py", line 329, in __init__
    raise ValueError("No objects to concatenate")
ValueError: No objects to concatenate