Python 如何基于另一个数据帧替换列值?
我有一个df1Python 如何基于另一个数据帧替换列值?,python,pandas,mapping,Python,Pandas,Mapping,我有一个df1 index | Institute ----------------- 0 | P001 ----------------- 1 | P002 ----------------- 2 | P001 ----------------- 3 | Clinic C 我还有df2 CODE | Clinic -------------------- P001 | Clinic A -------------------- P002 |
index | Institute
-----------------
0 | P001
-----------------
1 | P002
-----------------
2 | P001
-----------------
3 | Clinic C
我还有df2
CODE | Clinic
--------------------
P001 | Clinic A
--------------------
P002 | Clinic B
我想将df1映射为df2,得到的df1应该是
index | Clinic
------------------
0 | Clinic A
------------------
1 | Clinic B
------------------
2 | Clinic A
------------------
3 | Clinic C
我希望我能理解。如果不是的话,很抱歉。第一次在这里提问。由系列使用创建人-code
列的值必须是唯一的:
#if CODE is index need s = df2['Clinic']
s = df2.set_index('CODE')['Clinic']
df1['Institute'] = df1['Institute'].replace(s)
print (df1)
index Institute
0 0 Clinic A
1 1 Clinic B
2 2 Clinic A
3 3 Clinic C
谢谢。成功了!将学会更好地表达我的问题:)