Python 是否使用已保存的现有变量创建熊猫数据框?

Python 是否使用已保存的现有变量创建熊猫数据框?,python,pandas,Python,Pandas,这可能是一些基本的东西,但我似乎在任何地方都找不到。假设我在这个过程中创建了变量,例如平均绝对误差(MAE)计算(浮点)。然后是mae_a、mae_b、mae_c和mae_d。如果我想将它们保存到熊猫的数据框中,我会怎么做? 如果它是直观的,那就太好了,比如: df = pd.DataFrame(mae_a, mae_b, mae_c, mae_d) 但显然不是这样——或者我不必问 编辑:我知道我可以这样做: df = pd.DataFrame({'Type':['mae_a', 'mae_b

这可能是一些基本的东西,但我似乎在任何地方都找不到。假设我在这个过程中创建了变量,例如平均绝对误差(MAE)计算(浮点)。然后是mae_a、mae_b、mae_c和mae_d。如果我想将它们保存到熊猫的数据框中,我会怎么做? 如果它是直观的,那就太好了,比如:

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
你可以试试这个

a = 1,2,3,4,5
b='a','b','c','d','e'
d = pd.DataFrame({'A':a,'B':b})
print(d)
输出

    A   B
0   1   a
1   2   b
2   3   c
3   4   d
4   5   e

变量中有什么?平均绝对误差计算-因此浮动。
pd.Series({'mea_a':mae_a,…})
pd.DataFrame({'mea_a':mae_a,…})
?您必须多次写入
“mae_a”
,因为您选择了创建一个数量可变的变量,而不是决定将它们正确地存储在某个容器中。您应该将变量存储在dict
d={'mae_a':无论函数返回什么值,}
@ALollz谢谢。这对我来说是新闻。当我做了一个预测,但我不想看到mae分数时,我通常会放一些东西,比如:
mae\u lr=mae(y\u te,y\u pred)
我能不能改为写一些东西,把它存储在一个dict(字典?)中,每次我计算另一个mae,它就会增加字典中的另一行?如果是的话,请写一个关于它的答案。我只是想象它是长的而不是宽的。但我想既然你给了我这个,我就可以想出办法:)让我试试。我确实想出来了,但不幸的是,这并不像我希望的那么容易,因为你不能将变量名转换成一列,将变量转换成另一列,从而自动生成两列的df-这只是变量本身-我有两次命名变量,一次命名为字符串,一次命名为浮点数。无论如何,谢谢。@Mactilda更新以返回您想要的形状的数据,希望这对您有所帮助谢谢-我编辑了这个问题以作进一步解释。