Skip to content

pandas using widget without import #6810

@scottdraves

Description

@scottdraves
import pandas as pd
pd.DataFrame()

is giving me this stack trace:

---------------------------------------------------------------------------
UnboundLocalError                         Traceback (most recent call last)
~/anaconda/envs/beakerx/lib/python3.6/site-packages/IPython/core/formatters.py in __call__(self, obj)
    916             method = get_real_method(obj, self.print_method)
    917             if method is not None:
--> 918                 method()
    919                 return True
    920 

~/src/beakerx/beakerx/beakerx/runtime.py in f()
    421     def __get__(self, model_instance, model_class):
    422         def f():
--> 423             display_html(TableDisplay(model_instance))
    424         return f
    425 

~/src/beakerx/beakerx/beakerx/tabledisplay/tabledisplay.py in __init__(self, *args, **kwargs)
    191     def __init__(self, *args, **kwargs):
    192         super(TableDisplay, self).__init__(**kwargs)
--> 193         self.chart = Table(*args, **kwargs)
    194         self.model = self.chart.transform()
    195         self.on_msg(self.handle_msg)

~/src/beakerx/beakerx/beakerx/tabledisplay/tabledisplay.py in __init__(self, *args, **kwargs)
     33         self.hasIndex = None
     34         if isinstance(args[0], DataFrame):
---> 35             self.convert_from_pandas(args, types_map)
     36         elif isinstance(args[0], dict):
     37             self.convert_from_dict(args)

~/src/beakerx/beakerx/beakerx/tabledisplay/tabledisplay.py in convert_from_pandas(self, args, types_map)
    123             else:
    124                 self.columnNames[:0] = [args[0].index.name]
--> 125             self.types[:0] = [self.convert_type("", args[0][column].get_values()[0])]
    126 
    127     @staticmethod

UnboundLocalError: local variable 'column' referenced before assignment

there are 2 problems.

  1. displaying pandas dataframes with the widget should only be enabled if you "import beakerx" or "from beakerx import *". it seems to be enabled by default, incorrectly.
  2. an empty dataframe is crashing our displayer.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions