加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-16 22:42:35 所属栏目:Python 来源:网络整理
导读:所以我有这两个df: df答: ID TYPE 1 A2 B3 C4 A5 C df B: TYPE MEASUREA 0.3B 0.4C 0.5 我想要做的是根据关于TYPE的df B的对应关系向df A添加第三列: ID TYPE MEASURE1 A 0.32 B 0.43 C 0.54 A 0.35 C 0.5 我试过这段代码: def operation (row): RESULT

所以我有这两个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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读