当前位置: 首页 > 知识库问答 >
问题:

如何检查Pandas数据表中的值是否为NaN

徐安康
2023-03-14

在Python Pandas中,检查DataFrame是否有一个(或多个)NaN值的最佳方法是什么?

我知道函数pd.isnan,但它为每个元素返回布尔值的数据集。这里的这篇文章也没有完全回答我的问题。

共有1个答案

苏宜人
2023-03-14

Jwilner的回应是正确的。我在探索是否有更快的选择,因为根据我的经验,对平面数组求和(奇怪的)比计数快。这段代码看起来更快:

df.isnull().values.any()
import numpy as np
import pandas as pd
import perfplot


def setup(n):
    df = pd.DataFrame(np.random.randn(n))
    df[df > 0.9] = np.nan
    return df


def isnull_any(df):
    return df.isnull().any()


def isnull_values_sum(df):
    return df.isnull().values.sum() > 0


def isnull_sum(df):
    return df.isnull().sum() > 0


def isnull_values_any(df):
    return df.isnull().values.any()


perfplot.save(
    "out.png",
    setup=setup,
    kernels=[isnull_any, isnull_values_sum, isnull_sum, isnull_values_any],
    n_range=[2 ** k for k in range(25)],
)

df.isnull().sum().sum()稍慢一些,但当然还有其他信息--nans的数量。

 类似资料:
  • 问题内容: 在Python Pandas中,检查DataFrame是否具有一个(或多个)NaN值的最佳方法是什么? 我知道函数,但是这会为每个元素返回一个布尔值的DataFrame。此处的帖子也无法完全回答我的问题。 问题答案: jwilner的反应是现场的。我一直在探索是否有更快的选择,因为根据我的经验,求平面数组的总和(奇怪)比计数快。这段代码似乎更快: 速度稍慢,但当然还有其他信息-的数量。

  • 问题内容: 如何检查大pandas是否为空?就我而言,如果终端为空,我想在终端打印一些消息。 问题答案: 您可以使用该属性检查其是否为空: 资料来源:pandas文件

  • 问题内容: 我看到在MySQL中,有和函数可以从值创建整数,但是有什么方法可以检查值是否是整数?我正在寻找PHP中类似的东西。 问题答案: 我假设您要检查一个字符串值。一种不错的方法是REGEXP运算符,将字符串与正则表达式匹配。简单地做 这相当快。如果您的字段是数字,则只需测试 代替。

  • 问题内容: 我敢肯定有一种明显的方法可以做到这一点,但现在还不能想到任何光滑的东西。 基本上不是引发异常,而是要获取或查看pandas索引中是否存在值。 我现在工作的是以下内容 问题答案: 这应该可以解决问题

  • 问题内容: 以下代码是我一直在使用的从sql数据库中检索用户信息的代码。 但是,当数据库中没有用户名等于LoginUser.Username的条目时,(dt!= null)不会返回false。有没有其他方法可以检查sqlcommand是否成功? 问题答案: 如果没有匹配的记录,您将得到一个空白,因此您可以检查返回的记录数: 并且,稍微偏离主题的地方,请阅读您的问题下方的注释,然后使用Google术