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

Pandas基于多列生成剔除NaN的列表型新列的简洁一行实现方法问询

精简版Pandas列生成实现

替换原有冗余逻辑的一行式pandonic写法如下:

df['c'] = df[['c1', 'c2']].apply(lambda row: row.dropna().tolist(), axis=1)

实现说明:

  • 跳过原有代码中手动转列表、逐元素判断空值的冗余流程,直接调用Pandas Series原生的dropna()方法完成空值过滤,语法更简洁直观
  • 空值判断逻辑基于Pandas官方实现,规避了手动使用i is not np.nan可能出现的判断偏差,鲁棒性更强
  • 代码全程是单步赋值流程,不存在中间临时覆盖列的冗余操作;后续需要扩展参与合并的列时,仅需调整apply作用的列切片范围即可,无需改动内部过滤逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.23 07:54:03