2017-02-04 89 views
0

我有一個創建兩個數據框的函數。實際的例子是大,但可以說,它是這樣的:創建一個返回多個值的方法

def createDataFrames() 
    df1 = pd.DataFrame(['Tag 1', 'Tag2'], columns=['Tag']) 
    df2 = pd.DataFrame(['Tag 3', 'Tag4'], columns=['Tag']) 

    return(df1) 
    return(df2) 

現在我是,我可以存儲這樣的

df1, df2 = createDataFrames() 

數據幀但是這給了我下面的錯誤的假設下:

Traceback (most recent call last): 
File "/Users/marcvanderpeet/contexta-misc-python-scripts/tag_prediction/test13.py", line 11, in <module> 
df1, df2 = createDataFrames() 
ValueError: need more than 1 value to unpack 

對這裏出了什麼問題有什麼想法?

回答

7

你需要返回一個對象,一個元組,而不是:

return df1, df2 

(這是使df1, df2有兩個元素的元組對象中的逗號)。

return結束功能在那裏,然後;沒有多個return語句的概念,因此第二個return(df2)根本就不會執行。

另請注意return是一個聲明,而不是函數。你不需要括號。

+0

另外有趣的是,'df1,df2'實際上只是一個值...一個元組! – JCOC611