迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

在 Python 中从列表中移除 NaN

作者:迹忆客 最近更新:2023/12/17 浏览次数:

本教程将探讨各种方法,以从 Python 列表中查找和删除 NaN 值。编程中的 NaN 值表示 Not a Number,这意味着变量的值不是数字。

如果数组或列表中出现 NaN 值,则会在计算中产生问题和错误。我们还将研究从本教程的列表中删除字符串值 nan 的方法。我们可以使用以下方法从列表中删除 NaN'nan' 值。


在 Python 中使用 math.isnan() 方法从列表中删除 NaN

math.isnan(value) 方法采用数字 value 作为输入,如果 valueNaN 值,则返回 True,否则返回 False。因此,我们可以使用 math.isnan() 方法检查列表或数字数组中是否存在 NaN 值。

我们需要 math.isnan() 方法,因为 if float('NaN') == float('NaN') 在 Python 中返回 False,或者我们可以说两个 NaN 值在 Python 中不相等。下面的示例代码演示了如何使用 math.isnan() 方法从列表中删除 NaN 值。

import math

mylist = [1, 2, float("nan"), 8, 6, 4, float("nan")]
print(mylist)
newlist = [x for x in mylist if math.isnan(x) == False]
print(newlist)

输出:

[1, 2, nan, 8, 6, 4, nan]
[1, 2, 8, 6, 4]

在 Python 中使用 numpy.isnan() 方法从列表中删除 NaN

np.isnan(array) 方法,将 array 作为输入,如果对应的索引的值为 NaN,则返回 True,否则返回 False

下面的示例代码演示了如何使用 numpy.isnan() 方法从列表中删除 NaN 值:

import numpy as np

mylist = [1, 2, float("nan"), 8, 6, 4, float("nan")]
print(mylist)
newlist = [x for x in mylist if np.isnan(x) == False]
print(newlist)

输出:

[1, 2, nan, 8, 6, 4, nan]
[1, 2, 8, 6, 4]

在 Python 中从字符串列表中删除 NaN

现在,让我们假设数字列表已转换为字符串类型,并且我们要检查它是否包含任何 NaN 值。转换为字符串类型后,NaN 值将变成等于'nan'的字符串,并且可以通过将其与'nan'进行比较轻松地检测和删除。

下面的示例代码演示了如何从字符串数据类型列表中删除 NaN 值:

mylist = [1, 2, "nan", 8, 6, 4, "nan"]
mylist = [str(x) for x in mylist]
print(mylist)
newlist = [x for x in mylist if x != "nan"]
print(newlist)

输出:

['1', '2', 'nan', '8', '6', '4', 'nan']
['1', '2', '8', '6', '4']

在 Python 中使用 pandas.isnull() 方法从列表中删除 NaN

pandas.isnull(obj) 以标量或类似数组的 obj 作为输入,如果值等于 NaNNoneNaT,则返回 True,否则返回 False

示例代码演示了如何使用 pandas.isnull() 方法从 Python 的列表中删除 NaN 值。

import pandas as pd

mylist = [1, 2, float("nan"), 8, float("nan"), 4, float("nan")]
print(mylist)
newlist = [x for x in mylist if pd.isnull(x) == False]
print(newlist)

输出:

[1, 2, nan, 8, nan, 4, nan]
[1, 2, 8, 4]

现在假设我们不知道列表的类型,或者列表是否包含各种数据类型的数据。在这种情况下,我们可以使用 pandas.isnull() 方法,通过将列表中的每个值与'nan'值进行比较,来检查并从列表中删除 NaN 值和'nan'值。

我们可以使用 pandas.isnull() 方法,因为与前面提到的方法不同,如果给出字符串数据类型作为输入,则 pandas.isnull() 方法不会返回错误。因此,我们可以使用 pandas.isnull() 方法从列表或 Python 数组中删除 NaN'nan'值。

下面的示例代码演示了如何使用 pandas.isnull() 方法和'nan'值从 Python 列表中删除 NaN'nan'值。

import pandas as pd

mylist = ["John", 23, "nan", "New York", float("nan")]
print(mylist)
newlist = [x for x in mylist if pd.isnull(x) == False and x != "nan"]
print(newlist)

输出:

['John', 23, 'nan', 'New York', nan]
['John', 23, 'New York']

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 Python 中查找列表中的最大值

发布时间:2023/12/18 浏览次数:192 分类:Python

它演示了如何在 Python 中寻找列表中的最大值。本教程将涵盖一些场景和数据类型,从简单的整数列表到更复杂的结构,如数组中的数组。

用 Python 将两个列表转换为字典

发布时间:2023/12/18 浏览次数:91 分类:Python

它演示了如何在 Python 中把列表转换成字典。本教程将介绍如何在 Python 中把两个列表转换为字典,其中一个列表包含字典的键,另一个包含值。

在 Python 中查找列表中的字符串

发布时间:2023/12/18 浏览次数:110 分类:Python

本教程演示了如何在 Python 中查找具有特定子字符串的元素。我们将使用下面的列表并提取其中有 ack 的字符串。my_list = ["Jack", "Mack", "Jay", "Mark"]

用 Python 将两个列表相乘

发布时间:2023/12/18 浏览次数:137 分类:Python

本教程演示了如何在 Python 中对两个列表进行乘法。本教程将演示在 Python 中执行两个列表元素相乘的各种方法。

用 Python 查找列表中元素的所有索引

发布时间:2023/12/18 浏览次数:89 分类:Python

本教程演示了如何在 Python 中查找列表中某个元素的所有出现位置的索引在 Python 中,列表用于在一个名称下存储多个元素。每个元素可以通过它在列表中的位置来访问。

Python 中按字母顺序对列表进行排序

发布时间:2023/12/18 浏览次数:87 分类:Python

本教程演示了如何在 Python 中按字母顺序对一个列表进行排序。在本教程中,我们将讨论如何使用 sort() 和 sorted() 函数对包含字符串的列表按字母顺序排序,并使用快速排序算法。

在Python中获取列表形状

发布时间:2023/12/18 浏览次数:133 分类:Python

本文探讨了在Python中确定列表形状的方法,涵盖了一维、嵌套和多维列表,以及处理不规则嵌套列表。在Python中,了解列表的形状对于处理数据结构非常重要,特别是涉及多维或嵌套列表的情况

在 Python 中追加元素到到列表的前面

发布时间:2023/12/18 浏览次数:196 分类:Python

它演示了如何在 Python 中把元素追加到列表的前面。在整个教程中,我们将使用一个整数列表作为例子,以关注列表插入,而不是插入各种数据类型

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便