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

含NaN值的Pandas按行求最小值不符合预期,求代码修正

Pandas行最小值计算保留NaN的修正方案

你遇到的问题是因为pd.DataFrame.min()默认开启了skipna=True,会自动忽略NaN值,导致含NaN的行仍能计算出非NaN的最小值。要让存在NaN的行结果返回NaN,只需添加skipna=False参数:

import pandas as pd
import numpy as np  # 原代码使用了np.nan,需导入numpy库

dat1 = pd.DataFrame({'col1' : [1,2,3,4], 'col2' : [-3, np.nan, 4, 4]})
# 设置skipna=False,保留NaN的行结果为NaN
dat1.min(axis=1, numeric_only=True, skipna=False)

执行后输出结果:

0   -3.0
1    NaN
2    3.0
3    4.0
dtype: float64

此时第二行因包含NaN,结果符合你的预期为NaN。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 12:23:14