python – Pandas数据框基于其他数据帧的列创建新列

前端之家收集整理的这篇文章主要介绍了python – Pandas数据框基于其他数据帧的列创建新列前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

所以我有这两个df:
df答:

ID  TYPE  
1    A
2    B
3    C
4    A
5    C

df B:

TYPE  MEASURE
A      0.3
B      0.4
C      0.5

我想要做的是根据关于TYPE的df B的对应关系向df A添加第三列:

ID  TYPE MEASURE
1    A     0.3
2    B     0.4
3    C     0.5
4    A     0.3
5    C     0.5

我试过这段代码

def operation (row):  

RESULT=B.loc[titlevar['TYPE'] == row['TYPE'] ][['MEASURE']].values  
return RESULT

A['MEASURE'] = A.apply (lambda row: operation (row),axis=1)

但我认为我犯了更多错误.希望有人可以帮助我.提前致谢.

最佳答案
你可以使用map来做到这一点

dfA['MEASURE'] = dfA['TYPE'].map(dfB.set_index('TYPE')['MEASURE'])

DFA:

    ID  TYPE    MEASURE
0   1   A       0.3
1   2   B       0.4
2   3   C       0.5
3   4   A       0.3
4   5   C       0.5

猜你在找的Python相关文章