docstr: Test to ensure that first column is always preserved
docstr_tok: ["Test","to","ensure","that","first","column","is","always","preserved"]
code: def test_update_idx_col(self, dist_type, X):
      """Test to ensure that first column is always preserved"""
      idx_col_original = {i: f"{i}" for i in range(X.shape[1])}
      dist_types = [dist_type(idx=idx) for idx in np.arange(X.shape[1])]
      for dt in dist_types:
          X = dt.preprocess_X(X)
      idx_col_new = copy.deepcopy(idx_col_original)
      for dt in dist_types:
          idx_col_new = dt.update_idx_col(idx_col_new)
  
      for idx in idx_col_original.keys():
          # ensure that all original columns exist
          assert idx_col_original[idx] == idx_col_new[idx]
  
imports: import copy
  import numpy
  import pandas
  import pytest
  import torch
  from causalnex.structure.pytorch.dist_type import DistTypeBinary, DistTypeCategorical, DistTypeContinuous, DistTypeOrdinal, DistTypePoisson
  from causalnex.structure.pytorch.notears import from_numpy, from_pandas
label_desc: Use image node_id 9 for calling the TestDistTypeClasses obj's underlying member method code with example usage: obj.test_update_idx_col(dist_type, X) without return types