首页 > 解决方案 > 使用已经存在的保存变量创建 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 的答案——因为那将是理想的。

标签: pythonpandas

解决方案


如果将值存储在字典中,则在构建数据框时不必重写列

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

推荐阅读