code: def _prepare_binary_data(self, data_set):
      # Binary format conversion gives a sizable speedup but requires
      # slightly stricter standards for data input
      if not is_pandas_df(data_set):
          raise BinaryTransportException(
              "Layer data must be a `pandas.DataFrame` type"
          )
  
      layer_accessors = self._kwargs
      inverted_accessor_map = {
          v: k
          for k, v in layer_accessors.items()
          if type(v) not in [list, dict, set]
      }
  
      binary_transmission = []
      # Loop through data columns and convert them to numpy arrays
      for column in data_set.columns:
          # np.stack will take data arrays and conveniently extract the shape
          np_data = np.stack(data_set[column].to_numpy())
          # Get rid of the accessor so it doesn't appear in the JSON output
          del self.__dict__[inverted_accessor_map[column]]
          binary_transmission.append(
              {
                  "layer_id": self.id,
                  "column_name": column,
                  "accessor": camel_and_lower(
                      inverted_accessor_map[column]
                  ),
                  "np_data": np_data,
              }
          )
      return binary_transmission
  
file_path: deck.gl/bindings/pydeck/pydeck/bindings/layer.py
imports: import uuid
  import numpy
  from ..data_utils import is_pandas_df, has_geo_interface, records_from_geo_interface
  from .json_tools import JSONMixin, camel_and_lower
  from ..settings import settings
  from pydeck.types import Image, Function
  from pydeck.exceptions import BinaryTransportException
label_desc: Use image node_id 5 for calling the Layer obj's underlying member method code with example usage: obj._prepare_binary_data(data_set) and returns: binary_transmission