首页 > 解决方案 > 根据列在DataFrame中插入值

问题描述

我原来的 DataFrame 是这样的:

风码 姓名 马图 条款 加权
163197.SH 上国公司 2.9248 2.582
154563.SH 国盛公司 2.886 是的 2.773
789645.IB 国友公司 是的 3.098
1880260.IB 杀鬼公司 是的 2.657

我现在要做的是,对于每一行,如果 CLAUSE 等于 yes,则将该行的 matu 值替换为其 WEIGHTEDRT 值,如果 CLAUSE 等于 NO,则保留原来的 matu 和 weightedrt 原样。

我希望我的结果 DataFrame 看起来像这样:

风码 姓名 马图 条款 加权
163197.SH 上国公司 2.9248 2.582
154563.SH 国盛公司 2.773 是的 2.773
789645.IB 国友公司 3.098 是的 3.098
1880260.IB 杀鬼公司 2.657 是的 2.657

标签: pythonpandasdataframe

解决方案


clause_yes = df['CLAUSE'] == 'YES'
df.loc[clause_yes, 'matu'] = df.loc[clause_yes, 'WEIGHTEDRT']

推荐阅读