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

如何用两个条件一次性填充Pandas列,且将两行代码合并为单行?

问题解答

1. 合并单行实现填充的方法

完全可以将两行代码合并为单行实现相同效果,只需用逻辑或运算符|把两个筛选条件组合起来:

dat.loc[(dat['A'] == '') | dat['A'].isnull(), 'A'] = 'no'

另外还有更简洁的写法,使用replace方法一次性替换空字符串和空值:

import pandas as pd
dat['A'] = dat['A'].replace(['', pd.NA], 'no')

如果使用的是旧版Pandas,空值通常用np.nan表示,将代码中的pd.NA替换为np.nan即可。

2. 合并DataFrame后A列同时存在空字符串和空值的原因

这是很常见的现象,主要源于以下两种情况:

  • 两个待合并的原始DataFrame中,A列的缺失值表示方式不一致:一个用空字符串''标记缺失,另一个用Pandas空值(pd.NA/np.nan)标记缺失,合并后两种形式会同时保留。
  • 数据读取逻辑的差异:比如一个DataFrame从CSV读取时,空单元格被解析为空字符串;另一个从数据库读取时,空值被识别为np.nan,合并后就会出现两种缺失形式共存的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 13:20:15