code: def test_frame_data_proparty(self):
      df = pd.DataFrame(
          {"A": [1, 2, 3], "B": [4, 5, 6], "C": [7, 8, 9]},
          index=["a", "b", "c"],
          columns=["A", "B", "C"],
      )
      s = pd.Series([1, 2, 3], index=["a", "b", "c"], name=".target")
  
      mdf = pdml.ModelFrame(df, target=s)
      self.assertIsInstance(mdf, pdml.ModelFrame)
  
      new = pd.DataFrame(
          {"X": [1, 2, 3], "Y": [4, 5, 6]},
          index=["a", "b", "c"],
          columns=["X", "Y"],
      )
      # set data property
      mdf.data = new
  
      self.assertIsInstance(mdf, pdml.ModelFrame)
      self.assertEqual(mdf.shape, (3, 3))
      tm.assert_index_equal(mdf.index, pd.Index(["a", "b", "c"]))
      tm.assert_index_equal(
          mdf.columns, pd.Index([".target", "X", "Y"])
      )
      tm.assert_frame_equal(mdf.data, new)
      tm.assert_series_equal(mdf.target, s)
      self.assertEqual(mdf.target.name, ".target")
      self.assertEqual(mdf.target_name, ".target")
  
      new = pdml.ModelFrame(
          {"M": [1, 2, 3], "N": [4, 5, 6]},
          index=["a", "b", "c"],
          columns=["M", "N"],
      )
  
      # set data property
      mdf.data = new
  
      self.assertIsInstance(mdf, pdml.ModelFrame)
      self.assertEqual(mdf.shape, (3, 3))
      tm.assert_index_equal(mdf.index, pd.Index(["a", "b", "c"]))
      tm.assert_index_equal(
          mdf.columns, pd.Index([".target", "M", "N"])
      )
      tm.assert_frame_equal(mdf.data, new)
      tm.assert_series_equal(mdf.target, s)
      self.assertEqual(mdf.target.name, ".target")
      self.assertEqual(mdf.target_name, ".target")
  
      new = pd.DataFrame(
          {".target": [1, 2, 3], "K": [4, 5, 6]}, index=["a", "b", "c"]
      )
  
      # unable to set data if passed value has the same column as the target
      msg = (
          "Passed data has the same column name as the target '.target'"
      )
      with pytest.raises(ValueError, match=msg):
          mdf.data = new
  
      # unable to set ModelFrame with target attribute
      msg = "Cannot update with ModelFrame which has target attribute"
      with pytest.raises(ValueError, match=msg):
          mdf.data = mdf
  
      # set delete property
      del mdf.data
      self.assertIsInstance(mdf, pdml.ModelFrame)
      self.assertEqual(mdf.shape, (3, 1))
      tm.assert_index_equal(mdf.index, pd.Index(["a", "b", "c"]))
      tm.assert_index_equal(mdf.columns, pd.Index([".target"]))
      self.assertTrue(mdf.data is None)
      tm.assert_series_equal(mdf.target, s)
      self.assertEqual(mdf.target.name, ".target")
      self.assertEqual(mdf.target_name, ".target")
  
imports: import pytest
  import datetime
  import warnings
  import numpy
  import pandas
  import sklearn.datasets
  import sklearn.svm
  import pandas_ml
  import pandas_ml.util.testing
label_desc: Use image node_id 12 for calling the TestModelFrame obj's underlying member method code with example usage: obj.test_frame_data_proparty() without return types