为了账号安全,请及时绑定邮箱和手机立即绑定

如何将python dict中的值关联到pandas数据框

如何将python dict中的值关联到pandas数据框

慕标琳琳 2021-05-12 06:21:08
我有一个数据框data = {'A':['a','a',3,3,'c','c'],'B': [0, .5, 101, 105, 2000, 2500]}df = pd.DataFrame(data, columns = ['A','B'])和一本字典d = {'a':['a',3,'c'],'b':[5,200,3000],'c':[1,2,3]}我想用d['a']与比较df['A'],如果等于从增加值d['b'],以df['B']在新的一列df['C'],其结果将是data2 = {'A':['a','a','b','b','c','c'],'B': [0, .5, 101, 105, 2000, 2500],'C':[5,5.5,301,305,5000,5500]}df2 = pd.DataFrame(data2, columns = ['A','B','C'])
查看完整描述

1 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

另一种方法是构造一个普通的地图:


import pandas as pd


data = {'A':['a','a',3,3,'c','c','d'],'B': [0, .5, 101, 105, 2000, 2500, 3000]}

df = pd.DataFrame(data, columns = ['A','B'])


m = dict(zip(d['a'],d['b']))

df['C'] = df['B'] + df['A'].map(m).fillna(0)  # Fillna to avoid Not A Number (NaN


print(df)

返回值:


   A       B       C

0  a     0.0     5.0

1  a     0.5     5.5

2  3   101.0   301.0

3  3   105.0   305.0

4  c  2000.0  5000.0

5  c  2500.0  5500.0

6  d  3000.0  3000.0


查看完整回答
反对 回复 2021-05-18
  • 1 回答
  • 0 关注
  • 163 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号