Python 是否使用已保存的现有变量创建熊猫数据框?
这可能是一些基本的东西,但我似乎在任何地方都找不到。假设我在这个过程中创建了变量,例如平均绝对误差(MAE)计算(浮点)。然后是mae_a、mae_b、mae_c和mae_d。如果我想将它们保存到熊猫的数据框中,我会怎么做? 如果它是直观的,那就太好了,比如: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
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”
,因为您选择了创建一个数量可变的变量,而不是决定将它们正确地存储在某个容器中。您应该将变量存储在dictd={'mae_a':无论函数返回什么值,}
@ALollz谢谢。这对我来说是新闻。当我做了一个预测,但我不想看到mae分数时,我通常会放一些东西,比如:mae\u lr=mae(y\u te,y\u pred)
我能不能改为写一些东西,把它存储在一个dict(字典?)中,每次我计算另一个mae,它就会增加字典中的另一行?如果是的话,请写一个关于它的答案。我只是想象它是长的而不是宽的。但我想既然你给了我这个,我就可以想出办法:)让我试试。我确实想出来了,但不幸的是,这并不像我希望的那么容易,因为你不能将变量名转换成一列,将变量转换成另一列,从而自动生成两列的df-这只是变量本身-我有两次命名变量,一次命名为字符串,一次命名为浮点数。无论如何,谢谢。@Mactilda更新以返回您想要的形状的数据,希望这对您有所帮助谢谢-我编辑了这个问题以作进一步解释。