docstr: Write data_array to FeatureStorage starting from index.
  
  Notes
  ------
      If index is None, append data_array to feature.
  
      If len(data_array) == 0; return
  
      If (index - self.end_index) >= 1, self[end_index+1: index] will be filled with np.nan
  
  Examples
  ---------
      .. code-block::
  
          feature:
              3   4
              4   5
              5   6
  
  
      >>> self.write([6, 7], index=6)
  
          feature:
              3   4
              4   5
              5   6
              6   6
              7   7
  
      >>> self.write([8], index=9)
  
          feature:
              3   4
              4   5
              5   6
              6   6
              7   7
              8   np.nan
              9   8
  
      >>> self.write([1, np.nan], index=3)
  
          feature:
              3   1
              4   np.nan
              5   6
              6   6
              7   7
              8   np.nan
              9   8
docstr_tok: ["Write","data_array","to","FeatureStorage","starting","from","index",".","Notes","--","--","--","If","index","is","None",",","append","data_array","to","feature",".","If","len","(","data_array",")","==","0",";","return","If","(","index","-","self.end_index",")",">","=","1",",","self","[","end_index+1",":","index","]","will","be","filled","with","np.nan","Examples","--","--","--","--","-","..","code-block",":",":","feature",":","3","4","4","5","5","6",">",">",">","self.write","(","[","6",",","7","]",",","index=6",")","feature",":","3","4","4","5","5","6","6","6","7","7",">",">",">","self.write","(","[","8","]",",","index=9",")","feature",":","3","4","4","5","5","6","6","6","7","7","8","np.nan","9","8",">",">",">","self.write","(","[","1",",","np.nan","]",",","index=3",")","feature",":","3","1","4","np.nan","5","6","6","6","7","7","8","np.nan","9","8"]
code: def write(
      self,
      data_array: Union[List, np.ndarray, Tuple],
      index: int = None,
  ):
      """Write data_array to FeatureStorage starting from index.
  
      Notes
      ------
          If index is None, append data_array to feature.
  
          If len(data_array) == 0; return
  
          If (index - self.end_index) >= 1, self[end_index+1: index] will be filled with np.nan
  
      Examples
      ---------
          .. code-block::
  
              feature:
                  3   4
                  4   5
                  5   6
  
  
          >>> self.write([6, 7], index=6)
  
              feature:
                  3   4
                  4   5
                  5   6
                  6   6
                  7   7
  
          >>> self.write([8], index=9)
  
              feature:
                  3   4
                  4   5
                  5   6
                  6   6
                  7   7
                  8   np.nan
                  9   8
  
          >>> self.write([1, np.nan], index=3)
  
              feature:
                  3   1
                  4   np.nan
                  5   6
                  6   6
                  7   7
                  8   np.nan
                  9   8
  
      """
      raise NotImplementedError(
          "Subclass of FeatureStorage must implement `write` method"
      )
  
imports: import re
  from typing import Iterable, overload, Tuple, List, Text, Union, Dict
  import numpy
  import pandas
  from qlib.log import get_module_logger
label_desc: Use image node_id 6 for calling the FeatureStorage obj's underlying member method code with example usage: obj.write(data_array, index) without return types