class_docstr: A mini client example that reads some data file and formats
  it for the post call to predict
docstr: Use the inbuilt handle_missing_values since missing values can't be sent in 
  valid JSON without raising an error
docstr_tok: ["Use","the","inbuilt","handle_missing_values","since","missing","values","ca","n't","be","sent","in","valid","JSON","without","raising","an","error"]
code: def process_data(self, data_file):
      """Use the inbuilt handle_missing_values since missing values can't be sent in
      valid JSON without raising an error
      """
      data_df = handle_missing_values(
          read_data_to_df(data_file), strategy=self.missing_values
      )
  
      # make a dict of {header: column values}, JSONify, return
      data_dict = data_df.to_dict(orient="list", into=dict)
      jsonified = json.dumps(data_dict)
      return jsonified
  
imports: import json
  import requests
  from igel.preprocessing import handle_missing_values, read_data_to_df
label_desc: Use image node_id 2 for calling the IgelClient obj's underlying member method code with example usage: obj.process_data(data_file) and returns: jsonified