创建一个返回多个值的方法

时间:2017-02-04 14:24:16

标签: python

我有一个创建两个数据帧的函数。实际的例子比较大,但让我们这样说:

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

对这里出了什么问题的想法?

1 个答案:

答案 0 :(得分:7)

你需要返回一个对象,一个元组,而不是:

return df1, df2

(逗号使df1, df2成为具有两个元素的元组对象。)

return 在那里结束一个函数然后;没有多个return语句的概念,因此第二个return(df2)根本就不会被执行。

另请注意,return是一个声明,而不是一个函数。你不需要括号。