我有一个名为DummyData 的数据帧
Cover Age Are AddFlag
0 COMP 33 4 1
1 COMP 67 47 1
2 COMP 17 155 1
3 COMP 24 35 1
4 COMP 66 57 1
我的第二个数据帧叫做BaseRate
Cover Anchor
0 COMP 1000.0
1 TPFT 850.0
2 TPO 840.0
我运行以下代码:
BaseRate = BaseRate.set_index(['Cover'])
CoverDict = BaseRate.to_dict()
print(CoverDict)
并返回
{'Anchor': {'COMP': 1000.0, 'TPFT': 850.0, 'TPO': 840.0}}
然后我运行
DummyData["Anchor"] = DummyData["Cover"].map(Anchor)
DummyData.head()
但我有
NameError:名称"Anchor"未定义。
我想要的是DummyData附加Anchor变量(就像Excel中的vlookup(
Cover Age Area AddFlag Base Anchor
0 COMP 33 4 1 1000.0 1000.0
1 COMP 67 47 1 1000.0 1000.0
2 COMP 17 155 1 1000.0 1000.0
3 COMP 24 35 1 1000.0 1000.0
4 COMP 66 57 1 1000.0 1000.0
如果我运行
Anchor = {'COMP': 1000.0, 'TPFT': 850.0, 'TPO': 840.0}
然后我的代码就工作了。我想失去花括号
感谢任何帮助,因为我是Python的新手。感谢
"Anchor"
是指向要使用的地图的CoverDict
中的一个键。
你可以这样访问它:
DummyData["Anchor"] = DummyData["Cover"].map(CoverDict["Anchor"])
在您的代码中,当您执行.map(Anchor)
时,您试图访问一个名为Anchor
的变量,因此在使用该变量之前,您必须定义该变量
你也可以这样定义它,然后保留你的电话:
Anchor = CoverDict["Anchor"]
DummyData["Anchor"] = DummyData["Cover"].map(Anchor)