У меня есть функция в 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.]))
Итак, мой вопрос двоякий:
- Каков технический термин для конкретного результата
runmodel
?Это список массивов или набор массивов ... или что-то еще? - Как я могу превратить эти массивы в один кадр данных?Это вообще возможно или они разной длины?
Для второй части я попытался добавить строку result = pd.dataframe({'a':a, 'b':b, 'c':c, 'd':d})
в runmodel
, но затем я получил ошибку;UnboundLocalError: local variable 'result' referenced before assignment
.
Помощь с благодарностью.Извините, если это ужасный вопрос: я даже не знаю, с чего начать.