Intellipaat Back

Explore Courses Blog Tutorials Interview Questions
0 votes
5 views
in Azure by (5.8k points)

I have the below Python script. And I'm trying to return the new Dataframe created. Unfortunately, I'm getting "NotImplementedError:"

Please let me know, how to return a Dataframe in Azure ML from a python script

Code:

def azureml_main(df) :

    therm_patterns,therm_missed_patterns = thermostat_phase(df)

    th_pat = json.loads(therm_patterns)

    missed_th_pat = json.loads(therm_missed_patterns)

    light_patterns, light_missed_patterns = light_phase(df)

    lt_pat = json.loads(light_patterns)

    missed_lt_pat = json.loads(light_missed_patterns)

    for j in range (0,len(lt_pat)):

        for i in range (0,len(lt_pat[0]['John'])):

            th_pat[0]['John'].append(lt_pat[0]['John'][i])

    for j in range (0,len(lt_pat)):

        for i in range (0,len(lt_pat[0]['Jane'])):

            th_pat[0]['Jane'].append(lt_pat[0]['Jane'][i])

    for j in range (0,len(lt_pat)):

        for i in range (0,len(lt_pat[0]['Jen'])):

            th_pat[0]['Jen'].append(lt_pat[0]['Jen'][i])

    for j in range (0,len(missed_lt_pat)):

        for i in range (0,len(missed_lt_pat[0]['John'])):

            missed_th_pat[0]['John'].append(missed_lt_pat[0]['John'][i])

    for j in range (0,len(missed_lt_pat)):

        for i in range (0,len(missed_lt_pat[0]['Jane'])):

            missed_th_pat[0]['Jane'].append(missed_lt_pat[0]['Jane'][i])

    for j in range (0,len(missed_lt_pat)):

        for i in range (0,len(missed_lt_pat[0]['Jen'])):

            missed_th_pat[0]['Jen'].append(missed_lt_pat[0]['Jen'][i])

    output = json.dumps(th_pat)

    df = pd.DataFrame.from_dict({k: v[0] for k, v in json.loads(output) 

    [0].items()}, 'index' ).rename_axis('User').reset_index()

    return df         

Error:

  Error 0085: The following error occurred during script evaluation, please  

  view the output log for more information:

   ---------- Start of error message from Python interpreter ----------

   Caught exception while executing function: Traceback (most recent call  

   last):

       File "C:\server\invokepy.py", line 211, in batch

       xdrutils.XDRUtils.DataFrameToRFile(outlist[i], outfiles[i], True)

       File "C:\server\XDRReader\xdrutils.py", line 54, in DataFrameToRFile

       xdrwriter.write_attribute_list(attributes)

       File "C:\server\XDRReader\xdrwriter2.py", line 155, in   

       write_attribute_list

       self.write_object(value)

       File "C:\server\XDRReader\xdrwriter2.py", line 215, in write_object

       write_func(flags, converted, missingIndices)

       File "C:\server\XDRReader\xdrwriter2.py", line 185, in write_objects

       self.write_object(value)

       File "C:\server\XDRReader\xdrwriter2.py", line 200, in write_object

       raise NotImplementedError('Python Bridge conversion table not    

       implemented for type [{0}]'.format(value.getType()))

       NotImplementedError: Python Bridge conversion table not implemented  

       for type [<type 'list'>]

       Process returned with non-zero exit code 1

1 Answer

0 votes
by (9.6k points)

You can add Convert to CSV  to your Python script and  download it. That is the only way to do it now. Azure ML Studio does not return dataframes as of now. 

31k questions

32.8k answers

501 comments

693 users

Browse Categories

...