code: def make_block_array(
      self, length, num_blocks, block_size, fill_value
  ):
      arr = np.full(length, fill_value)
      indices = np.random.choice(
          np.arange(0, length, block_size), num_blocks, replace=False
      )
      for ind in indices:
          arr[ind : ind + block_size] = np.random.randint(
              0, 100, block_size
          )
      return SparseArray(arr, fill_value=fill_value)
  
imports: import numpy
  import scipy.sparse
  import pandas
  from pandas import MultiIndex, Series, date_range
  from pandas.arrays import SparseArray
  from .pandas_vb_common import setup
label_desc: Use image node_id 2 for calling the ArithmeticBlock obj's underlying member method code with example usage: obj.make_block_array(length, num_blocks, block_size, fill_value) and returns: SparseArray