将数组(?)的元组另存为数据框

时间:2019-07-02 16:16:17

标签: python arrays pandas function dataframe

我在python中有一个函数,该函数返回五个数组。我想将这些数组转换为数据框result。为了简洁起见,我将省略函数体,但这是我的代码的样子:

def runmodel():
   ## omitting code for brevity
return a, b, c, d, e

然后,当我运行run model时,我得到了所有返回的变量a,b,c,d,e的代码。

> run()
(array([[ 0.        ,  0.        ,  7.61377153,  0.        ,  0.        ,
      0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
      2.20431486,  0.        ,  0.        ,  0.        ,  0.        ,
      0.        ,  0.        ,  0.        , 13.94209173,  0.        ,
      0.50471147, 18.42825281,  0.        ,  0.        ,  0.        ,
      0.        ,  0.        ,  2.03488863,  0.        ,  0.        ,
      0.        ,  0.        ,  1.44420213,  0.        ,  0.        ,
      0.        , 24.76959413,  0.        ,  1.83168143,  0.        ,
      0.        ,  0.        ,  0.        ,  1.0522511 ,  0.        ,
      0.        ,  1.87509854,  0.        ,  0.        ,  0.        ,
     11.36184872,  0.        , 16.59942782,  0.        ,  0.        ,
     17.33892885,  0.        ,  0.        ,  0.        ,  0.        ,
      0.        ,  0.        ,  1.28199479, 31.76130032,  0.        ,
      0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
     10.29176791, 12.05028586,  5.95222179,  0.        ,  0.        ,
      0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
      2.82531264,  0.        ,  0.        ,  1.62874439,  0.        ,
      4.63870345,  0.        ,  0.        ,  6.47953447,  0.        ,
      0.        ,  0.        ,  0.        , 17.67837878, 11.08462275,
      0.        , 26.08591628,  4.91841726,  0.        , 12.21861283,
      0.        ,  0.        ,  1.46213229,  0.        ,  0.        ,
      0.        ,  0.        ,  0.        ,  0.        ,  1.36157407,
     11.74428328,  0.        ,  0.        ,  0.        ,  0.        ,
     10.21569859,  4.02472319,  8.60214736,  6.64881891, 28.73018726]]),
 array([25.]),
 array([1.]),
 array([0.]),
 array([0.]))

所以,我的问题有两个:

  1. runmodel的特定输出的技术术语是什么?它是数组列表还是数组元组..或其他东西?
  2. 如何将这些数组转换为一个数据帧?这有可能还是长度不同?

对于第二部分,我尝试在result = pd.dataframe({'a':a, 'b':b, 'c':c, 'd':d})中添加行runmodel,但随后出现错误; UnboundLocalError: local variable 'result' referenced before assignment

非常感谢您的帮助。如果这是一个可怕的问题,我感到很抱歉:我什至不知道从哪里开始。

1 个答案:

答案 0 :(得分:0)

runmodel的特定输出是数组的元组。为了将它们作为数据帧返回,您可以执行以下操作:

PUBLIC_URL

为了避免出现“ UnboundLocalError:赋值之前引用了本地变量'result'”错误,请确保在实际将其分配给数据框之前不要使用结果变量。