python - 将数组元组(?)保存为数据框
问题描述
我在 python 中有一个函数,它返回五个数组。我想把这些数组变成一个 dataframe 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
.
非常感谢帮助。如果这是一个可怕的问题,我很抱歉:我什至不知道从哪里开始。
解决方案
runmodel 的具体输出是一个数组元组。为了将它们作为数据框返回,您可以执行以下操作:
def runmodel():
## omitting code for brevity
result = pd.DataFrame({
'Title for a': a,
'Title for b': b,
'Title for c': c,
'Title for d': d,
'Title for e': e,
})
return result
为了避免“UnboundLocalError: local variable 'result' referenced before assignment”错误,请确保在将结果变量实际分配给数据框之前不要使用它。
推荐阅读
- git - 如何删除这个 git bash 未跟踪列表
- python - 关于日期时间的“LIKE”查询的 Django ORM 语法
- r - selectInput 小部件的条件更新
- angular - Angular > 在材质表中显示列和行
- vue.js - FilePond for Vue / Nuxt:动态设置服务器属性?
- c - 错误:下标值既不是数组也不是指针也不是向量
- python - 在 python 中使用 youtube-dl 下载带有自动编号的 Youtube-Playlist 会导致错误
- c++ - 如何在启动期间隐藏 QMainWindow 并显示启动画面?
- oracle11g - 我是数据分析新手,我必须对表进行刷新影响分析。是否也需要刷新父表和子表?
- r - 使用带有 grepl 和循环的名称列表从字符串中提取名称,并将它们添加到 R 中的新列