2017-06-07 4 views
1

Das Python-Skriptmodul von AzureML erfordert die Rückgabe eines Pandas DataFrame. Ich möchte nur einen Wert zurückgeben und ich dies tun:Python Pandas DataFrame mit nur einer einzigen gespeicherten Nummer?

result=7 
dataframe1=pd.DataFrame(numpy.zeros(1)) 
dataframe1[0][0]=result 

, mit dem ich in der Lage bin nur einen einzigen Wert in Azure ML Python Script-Modul zurückzukehren.

Was ist ein richtiger Weg, um einen Pandas DataFrame mit einem einzigen Wert zu erstellen?

+1

das Minimum wäre 'pd.DataFrame ([Ergebnis])' – EdChum

+0

@EdChum Ich habe versucht, dass aber es hat nicht funktioniert in Azure ML, beschwerte sie etwas über die falscher Typ als Rückgabetyp – hhh

+1

Nun, der einzige Unterschied hier ist, dass Ihre Version ein df mit dtype float erzeugt, mein Snippet würde das Ergebnis als int speichern, benötigt AzureML floats? Wenn ja, können Sie 'pd.DataFrame ([Ergebnis], dtype = float)' – EdChum

Antwort

1

folgenden Code funktionieren sollte:

import pandas as pd 
def azureml_main(dataframe1 = None, dataframe2 = None): 
    result = pd.DataFrame({'mycol': [123]}) 
    return result, 
1

Wie EdChum kommentiert

dataframe1=pd.DataFrame([result], dtype=float) 

und es funktioniert, getestet, statt

result=7 
dataframe1=pd.DataFrame(numpy.zeros(1)) 
dataframe1[0][0]=result 

wo wir brauchen nicht zu verwenden numpy, um den Rückgabewert mit Nullen zu beginnen.

P.s. EdChum kann dies seine Antwort geben, wenn er will.

+1

Keine Notwendigkeit, zusätzliche Arbeit für SO, denken Sie daran, Ihre eigene Antwort zu akzeptieren, damit die Frage nicht unbeantwortet bleibt, scheint mir seltsam, dass der Dtype float sein muss, aber dann habe ich nie azureML +1 verwendet – EdChum

Verwandte Themen