code: def compress_blocks(self):
      (
          new_blocks,
          to_compress_block_loc,
          non_compress_block_changes,
      ) = self._block_manager.compress()
      if to_compress_block_loc:
          self._block_manager.reset_blocks(new_blocks)
  
      return to_compress_block_loc, non_compress_block_changes
  
imports: import numpy
  from .schema_manager import SchemaManager
  from .block_manager import BlockManager
  from .block_manager import BlockType
  import pandas
  from ..entity import types
  from typing import Union, List, Tuple
  from ..conf.default_config import DATAFRAME_BLOCK_ROW_SIZE
label_desc: Use image node_id 28 for calling the DataManager obj's underlying member method code with example usage: obj.compress_blocks() and returns: to_compress_block_loc,  non_compress_block_changes