python - 使用已经存在的保存变量创建 Pandas 数据框?
问题描述
这可能是基本的东西,但我似乎无法在任何地方找到它。假设我在此过程中创建了变量,例如平均绝对误差 (MAE) 计算 (浮点数)。然后我有 mae_a、mae_b、mae_c 和 mae_d。如果我想将它们保存到 pandas 的数据框中,我会怎么做?如果它是直观的,那就太好了:
df = pd.DataFrame(mae_a, mae_b, mae_c, mae_d)
但显然不是这样——或者我不需要问。
编辑:我知道我可以这样做:
df = pd.DataFrame({'Type':['mae_a', 'mae_b', 'mae_c', 'mae_d'],
'MAE':[mae_a, mae_b, mae_c, mae_d]})
我不回答这个问题,看看是否有人有一个我不必写两次“mae_a”&c 的答案——因为那将是理想的。
解决方案
如果将值存储在字典中,则在构建数据框时不必重写列
import pandas as pd
values = {'mae_a': [4.55, 4.66],
'mae_b': [3.66, 4.66],
'mae_c': [5.77, 4.66],
'mae_d': [6.88, 7.55]}
df = pd.DataFrame(values)
df = pd.melt(df, value_vars=df.columns)
print(df)
这给出了这个输出
variable value
0 mae_a 4.55
1 mae_a 4.66
2 mae_b 3.66
3 mae_b 4.66
4 mae_c 5.77
5 mae_c 4.66
6 mae_d 6.88
7 mae_d 7.55
推荐阅读
- styles - 如何调整表格单元格边框的样式?
- ruby - has_many 在关联用户和项目时通过关联错误
- javascript - 输入范围和计算
- spring-boot - 如何使用 gradle 在 spring-boot 中生成 JPA 元模型?(+ lombok)
- php - symfony monolog 根据通道将日志写入不同的文件
- android - 以编程方式使用命令将应用程序包制作为设备所有者
- node.js - 获取 npm 错误!ENOTDIR:安装依赖于另一个的包时不是目录
- node.js - 在我的情况下,错误处理的方式是什么?
- docker - How to combine Dockerfiles in gitlab ci?
- php - Cron 作业不执行 php 文件