[英]Selectively replace values in dataframe from another dataframe
I have two dataframes:我有两个数据框:
df1
Company Name Symbol ID
0 AAA Inc No Symbol 123
1 BBB Inc B 456
2 CCC Inc C 789
3 DDD Inc D 112
4 EEE Inc E 134
5 FFF Inc No Symbol 156
df2
Company Name Symbol ID
0 Aaa Inc A 123
1 bbb Inc B 456
2 C Co No Symbol 789
3 fff Inc F 156
4 ZZZ Inc Z 999
And I want to replace only the No Symbol
values in df1
with the Symbol
from df2
by using ID
as the lookup, so that the output would look like this:我想通过使用ID
作为查找,只用df2
中的符号替换df1
中的No Symbol
Symbol
,这样 output 看起来像这样:
Company Name Symbol ID
0 AAA Inc A 123
1 BBB Inc B 456
2 CCC Inc C 789
3 DDD Inc D 112
4 EEE Inc E 134
5 FFF Inc F 156
How do I achieve this?我如何实现这一目标?
df1_no_symbol_id = df1[df1['Symbol']=='No Symbol']['ID']
df2_symbol_id_values_list = df2[df2['ID'].isin(df1_no_symbol_id)].to_dict('records')
for i in df2_symbol_id_values_list:
id = i['ID']
value = i['Symbol']
df1.loc[df1.ID==id, 'Symbol'] = value
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.