【发布时间】:2021-11-18 02:25:03
【问题描述】:
我有一个完整的数据输出 csv 我想插入回归模型,当然包含一个因变量列和相关值,以及多个自变量列(参数)和那些相关值。问题是我的自变量值不是“真实”值,它们只是对应于实际值的占位符。我使用 python 和 pandas 作为数据框。
我有这个数据框(参数为“Param”):
Color Zone Dependent.var Param_1 Param_2 Param_3
0 Blue A XX 0 1 3
1 Blue A XX 2 1 1
2 Blue A XX 0 0 1
3 Blue B XX 1 0 0
4 Blue B XX 2 2 2
5 Blue B XX 2 1 1
6 Blue C XX 2 0 0
7 Blue C XX 2 2 3
8 Blue C XX 3 1 1
9 Red A XX 3 2 1
10 Red A XX 0 1 3
11 Red A XX 3 3 2
12 Red B XX 2 1 1
13 Red B XX 0 1 3
14 Red B XX 1 0 0
15 Red C XX 0 2 1
16 Red C XX 1 1 0
17 Red C XX 3 2 3
18 Green A XX 2 2 3
19 Green A XX 0 1 3
20 Green A XX 3 2 2
21 Green B XX 2 1 1
22 Green B XX 0 2 3
23 Green B XX 2 3 2
24 Green C XX 0 1 1
25 Green C XX 3 1 0
26 Green C XX 3 2 3
对不起,这太长了,但我觉得有必要交流数据结构。现在我有 9 个单独的字典(或键,我对术语感到困惑),每个颜色和区域组合有 1 个,其中包含初始占位符值与其“真实”值的“翻译”,它们看起来像这样,其中每个颜色/区域之间的“真实”值不同:
对于蓝色(蓝色/A 为 1,蓝色/B 为 1,蓝色/C 为 1):
0 1 2 3
------------------------
Param_1 XX XX XX XX
Param_2 XX XX XX XX
Param_3 XX XX XX XX
对于红色(红色/A 为 1,红色/B 为 1,红色/C 为 1):
0 1 2 3
------------------------
Param_1 YY YY YY YY
Param_2 YY YY YY YY
Param_3 YY YY YY YY
对于绿色(绿色/A 为 1,绿色/B 为 1,绿色/C 为 1):
0 1 2 3
------------------------
Param_1 ZZ ZZ ZZ ZZ
Param_2 ZZ ZZ ZZ ZZ
Param_3 ZZ ZZ ZZ ZZ
我想获取这些“参数值映射”,然后用它们替换初始数据框中的数字。有没有一种简单的方法可以在 python 中做到这一点?我只是对如何解决存在三种不同颜色和 3 个独立区域以及 9 组独立替换值的问题感到非常困惑。我认为这将涉及一个 for 循环来迭代“颜色”和“区域”,但我不确定。
【问题讨论】:
-
您使用哪个框架来创建数据框?请添加标签。
-
不清楚“每种颜色之间的实际值”是什么意思。您要映射的值到底是什么?是不是只有
XX代表所有蓝色,YY代表所有红色,ZZ代表所有绿色? -
@AcaNg- 我正在使用 pandas 作为数据框。
-
@ddejohn- “真实”值是指我实际打算使用的值,它们位于另一个电子表格中。我需要自己用钥匙把它们写下来。我不想在回归分析中使用 0、1、2、3,我想使用它们所代表的值。
标签: python dataframe dictionary indexing key