code: def test_gib_pd(self):
      try:
          import igraph
      except:
          return
  
      lg = LGFull()
      with warnings.catch_warnings():
          warnings.filterwarnings("ignore", category=FutureWarning)
          g = lg.edges(
              pd.DataFrame(
                  {
                      "s": ["a", "b", "c", "d", "m", "d1"],
                      "d": ["b", "c", "d", "d", "m", "d2"],
                  }
              ),
              "s",
              "d",
          ).group_in_a_box_layout()
      assert isinstance(g._nodes, pd.DataFrame)
      assert isinstance(g._edges, pd.DataFrame)
      assert "x" in g._nodes
      assert "y" in g._nodes
      assert not g._nodes.x.isna().any()
      assert not g._nodes.y.isna().any()
  
file_path: pygraphistry/graphistry/tests/layout/test_gib.py
imports: import logging, os, pandas, pytest, warnings
  from graphistry.compute import ComputeMixin
  from graphistry.layouts import LayoutsMixin
  from graphistry.plotter import PlotterBase
  from graphistry.tests.common import NoAuthTestCase
label_desc: Use image node_id 1 for calling the Test_gib obj's underlying member method code with example usage: obj.test_gib_pd() without return types