gpt4 book ai didi

python - Pandas - 如何在应用函数内识别 nans?

转载 作者:太空宇宙 更新时间:2023-11-04 07:27:36 24 4
gpt4 key购买 nike

我正在按行编写复杂的规则,为此,我正在使用 df.apply。在此函数内部,条件之一是检查列 MEASUREMENT 中的值之一是否为空白/空/nan。我该怎么做呢?这看起来真的很容易,但我无法让它工作。我知道我可以使用其他矢量化方法来检查 nans,但我需要编写复杂的规则,所以我正在使用 df.apply。

我的数据如下:

MEASUREMENT VALUE
Name1 0.1
Name2 0.2
0.3
Name4 0.2
231 0.4

我的代码是这样的

func(row):
if row['MEASUREMENT'] == np.NaN:
print row['VALUE']

new_df = df.apply(func, axis=1)

它应该打印 0.3。

注意事项:MEASUREMENT 列具有混合数据类型。我已经尝试将其加载为 str 并默认加载,但条件仍然无效。我在安装 Anaconda 时使用的是 Python 3.7。

我已经尝试了所有方法,但无法找到解决方案。任何帮助将不胜感激。

最佳答案

NaN 不等于任何值,包括它自己。所以您可以这样检查:

if row['MEASUREMENT'] != row['MEASUREMENT']:

但是,在已知值是数字的情况下,更好(即更易读)的方法是 math.isnan()

from math import isnan
if isnan(row['MEASUREMENT']):

关于python - Pandas - 如何在应用函数内识别 nans?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55876974/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com