Pandas数据帧df1包含值A的列表
df1 = pd.DataFrame({'A':['a','a','b']})
A
0 a
1 a
2 b
Run Code Online (Sandbox Code Playgroud)
可以将数据帧df2视为从A中的值到B中的值的映射
df2 = pd.DataFrame({'A':['a','b'], 'B':[2,3]})
A B
0 a 2
1 b 3
Run Code Online (Sandbox Code Playgroud)
我想将映射应用于df1.我的工作版本是这个,但我觉得有可能改进,因为我发现我的解决方案不可读,我不确定它如何推广到多索引
df2.set_index('A').loc[df1.set_index('A').index].reset_index()
A B
0 a 2
1 a 2
2 b 3
Run Code Online (Sandbox Code Playgroud)
我也可以将df2转换为字典并使用替换方法,但它也不能说服我.