You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas用Credit_History列对应值填充多列缺失值失效问题咨询

问题原因

你原代码不生效的核心原因是 DataFrame.fillna() 默认按列名匹配传入的填充值,你传入的df['Credit_History']是行索引对应的Series,和待填充的列名不匹配,所以填充逻辑没有触发。

解决方法

方案1:最小修改原有代码(pandas 1.1.0及以上版本支持)

只需要在原有代码基础上添加axis=0参数,指定按行索引匹配填充值即可:

cols = ['Loan_Status','subject_status','test_status']
df[cols] = df[cols].fillna(df['Credit_History'], axis=0)

方案2:全版本兼容方案(逻辑直观)

如果你的pandas版本低于1.1.0,可以用按行apply的方式实现:

cols = ['Loan_Status','subject_status','test_status']
df[cols] = df.apply(lambda row: row[cols].fillna(row['Credit_History']), axis=1)

最终输出效果

填充完成后DataFrame如下:

Credit_HistoryLoan_Statussubject_statustest_status
YesT1DUMMAtest
ABCT2CHUMMAABC
DEFDEFDEFDEF
JKLJKLJKLJKL

内容的提问来源于stack exchange,提问作者The Great

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 08:54:03