Python 使用条件将字典连接到数据帧

Python 使用条件将字典连接到数据帧,python,pandas,Python,Pandas,我正在尝试将字典连接到数据帧。当字典中的键已经在数据帧中时,我会尝试对这些值进行定界。否则,我将创建一个新列 因此,原始数据帧如下所示: import pandas as pd column_names=['name','surname','age','desc1','desc2'] lfa=[("tom","jones",44,"d1","d2"),("elvis","prestley

我正在尝试将字典连接到数据帧。当字典中的键已经在数据帧中时,我会尝试对这些值进行定界。否则,我将创建一个新列

因此,原始数据帧如下所示:

import pandas as pd
column_names=['name','surname','age','desc1','desc2']
lfa=[("tom","jones",44,"d1","d2"),("elvis","prestley",50,"d1","d2"), 
("jim","reeves",30,"d1","d2")]
lfa=pd.DataFrame(lfa,columns=column_names)
lfa
new_cols= {"desc1":"adjustment1","desc3":"adjustment3"}
column_names=['name','surname','age','desc1','desc2','desc3']
lfa=[("tom","jones",44,"d1|adjustment1","d2","adjustment3"), 
("elvis","prestley",50,"d1|adjustment1","d2","adjustment3"), 
("jim","reeves",30,"d1|adjustment1","d2","adjustment3")]
lfa=pd.DataFrame(lfa,columns=column_names)
lfa
字典看起来像:

import pandas as pd
column_names=['name','surname','age','desc1','desc2']
lfa=[("tom","jones",44,"d1","d2"),("elvis","prestley",50,"d1","d2"), 
("jim","reeves",30,"d1","d2")]
lfa=pd.DataFrame(lfa,columns=column_names)
lfa
new_cols= {"desc1":"adjustment1","desc3":"adjustment3"}
column_names=['name','surname','age','desc1','desc2','desc3']
lfa=[("tom","jones",44,"d1|adjustment1","d2","adjustment3"), 
("elvis","prestley",50,"d1|adjustment1","d2","adjustment3"), 
("jim","reeves",30,"d1|adjustment1","d2","adjustment3")]
lfa=pd.DataFrame(lfa,columns=column_names)
lfa
我正在尝试创建如下输出:

import pandas as pd
column_names=['name','surname','age','desc1','desc2']
lfa=[("tom","jones",44,"d1","d2"),("elvis","prestley",50,"d1","d2"), 
("jim","reeves",30,"d1","d2")]
lfa=pd.DataFrame(lfa,columns=column_names)
lfa
new_cols= {"desc1":"adjustment1","desc3":"adjustment3"}
column_names=['name','surname','age','desc1','desc2','desc3']
lfa=[("tom","jones",44,"d1|adjustment1","d2","adjustment3"), 
("elvis","prestley",50,"d1|adjustment1","d2","adjustment3"), 
("jim","reeves",30,"d1|adjustment1","d2","adjustment3")]
lfa=pd.DataFrame(lfa,columns=column_names)
lfa
for循环 循环dict项并更新/添加数据框中的列

for k, v in new_cols.items():
    lfa[k] = lfa[k] + '|' + v if k in lfa else v
for循环 循环dict项并更新/添加数据框中的列

for k, v in new_cols.items():
    lfa[k] = lfa[k] + '|' + v if k in lfa else v