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

使用math.isnan()判断DataFrame列空单元格并按规则返回结果

解决方案

适用前提

math.isnan()仅支持判断数值类型的NaN空值,使用前请确认你要处理的DataFrame列的非空值均为数值类型,否则会触发TypeError。

实现代码

首先导入依赖库:

import math
import pandas as pd

假设你的DataFrame命名为df,要处理的目标列名为target_col,可以通过apply方法完成规则转换,处理结果可存入新列processed_col:

df['processed_col'] = df['target_col'].apply(lambda x: x if not math.isnan(x) else 'empty')

完整测试示例

# 构造测试数据
df = pd.DataFrame({
    'target_col': [1.0, 3.2, None, 5.7, None, 9]
})

# 按规则处理列
df['processed_col'] = df['target_col'].apply(lambda x: x if not math.isnan(x) else 'empty')

# 输出结果
print(df)

运行后输出结果如下:

target_col processed_col
0         1.0           1.0
1         3.2           3.2
2         NaN         empty
3         5.7           5.7
4         NaN         empty
5         9.0           9.0

注意事项

  • 处理后的列会变为object类型,因为同时包含数值和字符串empty两类数据
  • 如果你的目标列存在非数值类型的空值(比如字符串空、时间类型空值NaT),更推荐使用pandas原生的pd.isna()方法做判断,兼容性更强

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 20:24:03