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

Python中如何将指定数值转换为NaN值

不同常用场景的操作方法

1. Python Pandas 场景(最常用的表格/图表数据预处理场景)

如果你的数据存放在pandas的Series或DataFrame中,直接用replace方法即可实现指定值替换为NaN:

import pandas as pd
import numpy as np

# 替换单列中的特定值-66.23为NaN
df['目标列名'] = df['目标列名'].replace(-66.23, np.nan)

# 替换整个DataFrame中所有出现的-66.23为NaN
df = df.replace(-66.23, np.nan)

# 如果要替换多个特定负数,传入列表即可
df = df.replace([-66.23, -99.99, -100], np.nan)

注意:如果你的数值是浮点类型存在精度误差,可以用判断逻辑替代:

df['目标列名'] = df['目标列名'].mask(df['目标列名'].sub(-66.23).abs().lt(1e-6), np.nan)

2. Python 原生列表场景

如果数据存在普通列表中,用列表推导式处理:

import math
original_list = [12.3, -66.23, 45.6, -66.23, 78.9]
processed_list = [x if x != -66.23 else math.nan for x in original_list]

3. R 语言场景

如果用R处理数据,替换指定值为NA(R中的空值对应NaN的常用场景):

# 替换向量中的-66.23为NA
vec[vec == -66.23] <- NA

# 替换数据框所有列中的-66.23为NA
df[df == -66.23] <- NA

# 存在浮点精度问题时的写法
vec[abs(vec - (-66.23)) < 1e-6] <- NA

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 07:12:02