Python Pandas通过将值连接到列名来组合2个数据框

lig*_*ght 3 python pandas

如果我有这个数据框df1

       ABC    DEF    XYZ
1      9      4      1
2      4      6      9
3      7      9      8
4      6      3      8
5      1      2      3
Run Code Online (Sandbox Code Playgroud)

而这个数据帧df2

       Name
1      ABC
2      DEF
3      ABC
4      XYZ
5      ABC
Run Code Online (Sandbox Code Playgroud)

如何获得如下所示的数据框?

       Name Value
1       ABC     9
2       DEF     6
3       ABC     7
4       XYZ     8
5       ABC     1
Run Code Online (Sandbox Code Playgroud)

ank*_*_91 5

您可以df.lookup在这里使用:

df2['Value']=df1.lookup(df2.Name.index,df2.Name.values)
print(df2)
Run Code Online (Sandbox Code Playgroud)
  Name  Value
1  ABC      9
2  DEF      6
3  ABC      7
4  XYZ      8
5  ABC      1
Run Code Online (Sandbox Code Playgroud)