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

我有一个数据框


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'])


慕标琳琳
浏览 164回答 1
1回答

蛊毒传说

另一种方法是构造一个普通的地图:import pandas as pddata = {'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 (NaNprint(df)返回值:   A       B       C0  a     0.0     5.01  a     0.5     5.52  3   101.0   301.03  3   105.0   305.04  c  2000.0  5000.05  c  2500.0  5500.06  d  3000.0  3000.0
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python