def create_panels_join(cls, panels):
        panels = [a for a in panels if a is not None]
        # corner cases
        if len(panels) == 0:
                return None
        elif len(panels) == 1:
                return panels[0]
        elif len(panels) == 2 and panels[0] == panels[1]:
                return panels[0]
        d = dict()
        minor, major, items = set(), set(), set()
        for panel in panels:
                items.update(panel.items)
                major.update(panel.major_axis)
                minor.update(panel.minor_axis)
                values = panel.values
                for item, item_index in panel.items.indexMap.items():
                        for minor_i, minor_index in panel.minor_axis.indexMap.items():
                                for major_i, major_index in panel.major_axis.indexMap.items():
                                        try:
                                                d[(minor_i, major_i, item)] = values[item_index, major_index, minor_index]
                                        except:
                                                pass
        # stack the values
        minor = sorted(list(minor))
        major = sorted(list(major))
        items = sorted(list(items))
        # create the 3d stack (items x columns x indicies)
        data = np.dstack([np.asarray([np.asarray([d.get((minor_i, major_i, item), np.nan)
                                                  for item in items])
                                      for major_i in major]).transpose()
                          for minor_i in minor])
        # construct the panel
        return Panel(data, items, major, minor)
connection to database with bad password
dataset/ETHPy150Open pydata/pandas/bench/bench_join_panel.py/create_panels_join--crossover with--dataset/ETHPy150Open cloudera/hue/desktop/core/ext-py/cx_Oracle-5.1.2/test/uConnection.py/TestConnection.testBadPassword