基于条件替换DataFrame非唯一值:更新n_df的y4字段
实现方法
要完成将n_df中匹配x值的y4替换为精简后t_df对应值的操作,用Pandas可以这样实现:
# 构建x与目标y4值的映射字典 t_mapping = t_df.set_index('x')['y4'].to_dict() # 对n_df中符合条件的行进行y4值替换 n_df.loc[n_df['x'].isin(t_mapping.keys()), 'y4'] = n_df['x'].map(t_mapping)
代码说明:
- 第一步把精简后的t_df转换成x为键、对应y4为值的字典,确保每个x只对应一个需要替换的目标值;
- 第二步用
isin筛选出n_df中x存在于映射字典里的行,再通过map把这些行的y4值替换成字典中对应的目标值。
执行完这段代码后,n_df里所有和精简t_df共享x值的行,y4都会被替换成指定的新值,比如x=5.3的行y4会变成97.658330,完全符合要求。
内容的提问来源于stack exchange,提问作者Peter M
相关产品推荐
相关产品推荐

