docstr: Parse a value of this type.
  
  Parameters
  ----------
  data_str : str
     string to convert
  
  Returns
  -------
  f : float
     where float can be nan
  
  Examples
  --------
  >>> atr = NumericAttribute('atr')
  >>> atr.parse_data('1')
  1.0
  >>> atr.parse_data('1\n')
  1.0
  >>> atr.parse_data('?\n')
  nan
docstr_tok: ["Parse","a","value","of","this","type",".","Parameters","--","--","--","--","--","data_str",":","str","string","to","convert","Returns","--","--","--","-","f",":","float","where","float","can","be","nan","Examples","--","--","--","--",">",">",">","atr","=","NumericAttribute","(","'atr","'",")",">",">",">","atr.parse_data","(","'","1","'",")","1.0",">",">",">","atr.parse_data","(","'","1\\n","'",")","1.0",">",">",">","atr.parse_data","(","'","?","\\n","'",")","nan"]
code: def parse_data(self, data_str):
      """
      Parse a value of this type.
  
      Parameters
      ----------
      data_str : str
         string to convert
  
      Returns
      -------
      f : float
         where float can be nan
  
      Examples
      --------
      >>> atr = NumericAttribute('atr')
      >>> atr.parse_data('1')
      1.0
      >>> atr.parse_data('1\\n')
      1.0
      >>> atr.parse_data('?\\n')
      nan
      """
      if "?" in data_str:
          return np.nan
      else:
          return float(data_str)
  
imports: import re
  import datetime
  import numpy
  import csv
  import ctypes
label_desc: Use image node_id 3 for calling the NumericAttribute obj's underlying member method code with example usage: obj.parse_data(data_str) and returns: np, float