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

如何在DataFrame中仅提取指定列列表内的每行空值列名?

解决指定列空值捕获问题

直接修改你的代码,先筛选出需要检查的指定列再做空值判断,就能避免包含非目标列的结果:

columns_list = ['A','B','D']
df['X'] = df[columns_list].apply(lambda x: ','.join(x[x.isnull()].index), axis=1)

逻辑说明

原来的代码是对整个DataFrame执行apply,会遍历所有列的空值;现在先通过df[columns_list]切出你关心的列组成的子数据集,再在这个子集里检查空值并拼接列名,这样就只会保留columns_list里的空值列名了。

后续扩展(处理负值等场景)

如果之后要捕获负值,只需要修改lambda里的判断条件就行,比如同时检查空值和负值:

df['X'] = df[columns_list].apply(lambda x: ','.join(x[x.isnull() | (x < 0)].index), axis=1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 04:27:15