对pandas数据框指定列执行replace操作时如何保留全部列?
Pandas指定列执行replace映射且保留全部列的实现方法
原有代码的问题在于,你直接将
loc筛选出的3列替换结果赋值给了整个dfSPSS变量,自然会丢失其他所有列。
方法1:直接修改原数据框的指定列
仅对目标列做赋值操作,其余列保持不变:
dfSPSS.loc[:,'Q2_4_1':'Q2_4_3'] = dfSPSS.loc[:,'Q2_4_1':'Q2_4_3'].replace(LikertToNum)
方法2:生成新数据框(不修改原始数据)
如果需要保留原始数据框不变,可以先复制再修改目标列:
# 生成原始数据的深拷贝 dfSPSS_new = dfSPSS.copy() # 仅修改目标列 dfSPSS_new.loc[:,'Q2_4_1':'Q2_4_3'] = dfSPSS_new.loc[:,'Q2_4_1':'Q2_4_3'].replace(LikertToNum)
内容的提问来源于stack exchange,提问作者fredooms
相关产品推荐
相关产品推荐

