2017-02-04 81 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