pandas dataframe dataframe.dropna() 函数-ag捕鱼王app官网

pandas dataframe dataframe.dropna() 函数

作者:迹忆客 最近更新:2024/04/22 浏览次数:

pandas.dataframe.dropna() 函数通过丢弃包含空值的行或列,从 dataframe 中删除空值(缺失值)。

nannot a number)和 natnot a time)代表空值。dataframe.dropna() 检测这些值并相应地过滤 dataframe


pandas.dataframe.dropna() 语法

dataframe.dropna(axis, how, thresh, subset, inplace)

参数

axis 它决定轴是行还是列。
如果它是 0 或'index',那么它将删除包含缺失值的行。
如果它是 1 或'column',那么它将删除包含缺失值的列。默认情况下,它的值是 0
how 这个参数决定函数如何删除行或列。它只接受两个字符串,可以是 allall。默认情况下,它被设置为 any
any - 如果行或列中有任何空值,就会删除它。
all - 如果行或列中缺少所有值,则放弃该行或列
thresh 它是一个整数,指定了防止行或列丢失的非缺失值的最少数量
subset 它是一个数组,其中有行或列的名称,用于指定删除程序
inplace 它是一个布尔值,如果设置为 true,将就地改变调用者 dataframe。默认情况下,它的值是 false

返回值

它根据传递的参数返回一个过滤后的 dataframe,其中包含删除的行或列。


示例代码:dataframe.dropna() 删除行

默认情况下,轴为 0,即行,所以所有的输出都有行掉。

import pandas as pd
dataframe=pd.dataframe({'attendance': {0: 60, 1: none, 2: 80,3: none, 4: 95},
                    'name': {0: 'olivia', 1: 'john', 2: 'laura',3: 'ben',4: 'kevin'},
                    'obtained marks': {0: none, 1: 75, 2: 82, 3: 64, 4: none}})
print(dataframe)

示例 dataframe 如下。

   attendance    name  obtained marks
0        60.0  olivia             nan
1         nan    john            75.0
2        80.0   laura            82.0
3         nan     ben            64.0
4        95.0   kevin             nan

这个函数的所有参数都是可选的。如果我们不传递任何参数,那么函数将丢弃所有包含一个空值的行。

import pandas as pd
dataframe = pd.dataframe(
    {
        "attendance": {0: 60, 1: none, 2: 80, 3: none, 4: 95},
        "name": {0: "olivia", 1: "john", 2: "laura", 3: "ben", 4: "kevin"},
        "obtained marks": {0: none, 1: 75, 2: 82, 3: 64, 4: none},
    }
)
dataframe1 = dataframe.dropna()
print(dataframe1)

输出:

   attendance   name  obtained marks
2        80.0  laura            82.0

丢弃所有包含一个缺失值的行。


示例代码:dataframe.dropna() 删除列

import pandas as pd
dataframe = pd.dataframe(
    {
        "attendance": {0: 60, 1: none, 2: 80, 3: none, 4: 95},
        "name": {0: "olivia", 1: "john", 2: "laura", 3: "ben", 4: "kevin"},
        "obtained marks": {0: none, 1: 75, 2: 82, 3: 64, 4: none},
    }
)
dataframe1 = dataframe.dropna(axis=1)
print(dataframe1)

输出:

     name
0  olivia
1    john
2   laura
3     ben
4   kevin

因为我们在 dataframe.dropna() 方法中设置了 axis=1,所以它删除了所有包含一个缺失值的列。


示例代码:dataframe.dropna()how=all

import pandas as pd
dataframe = pd.dataframe(
    {
        "attendance": {0: 60, 1: none, 2: 80, 3: none, 4: 95},
        "name": {0: "olivia", 1: "john", 2: "laura", 3: "ben", 4: "kevin"},
        "obtained marks": {0: none, 1: 75, 2: 82, 3: 64, 4: none},
    }
)
dataframe1 = dataframe.dropna(axis=1, how="all")
print(dataframe1)

输出:

   attendance    name  obtained marks
0        60.0  olivia             nan
1         nan    john            75.0
2        80.0   laura            82.0
3         nan     ben            64.0
4        95.0   kevin             nan

包含缺失值的行没有被删除,因为 how 参数的值被设置为 all,这意味着该行的所有值都应该是空的。

如果在指定的轴上缺少所有的值,那么 dataframe.dropna() 方法会丢弃该轴,即使 how 被设置为 all

import pandas as pd
dataframe = pd.dataframe(
    {
        "attendance": {0: 60, 1: none, 2: 80, 3: none, 4: 95},
        "name": {0: "olivia", 1: "john", 2: "laura", 3: "ben", 4: "kevin"},
        "obtained marks": {0: none, 1: none, 2: none, 3: none, 4: none},
    }
)
print(dataframe)
print("--------")
dataframe1 = dataframe.dropna(axis=1, how="all")
print(dataframe1)

输出:

   attendance    name obtained marks
0        60.0  olivia           none
1         nan    john           none
2        80.0   laura           none
3         nan     ben           none
4        95.0   kevin           none   attendance    name
0        60.0  olivia
1         nan    john
2        80.0   laura
3         nan     ben
4        95.0   kevin

示例代码:dataframe.dropna() 与指定的子集或阈值

import pandas as pd
dataframe = pd.dataframe(
    {
        "attendance": {0: 60, 1: none, 2: 80, 3: none, 4: 95},
        "name": {0: "olivia", 1: "john", 2: "laura", 3: "ben", 4: "kevin"},
        "obtained marks": {0: none, 1: 75, 2: 82, 3: 64, 4: none},
    }
)
dataframe1 = dataframe.dropna(thresh=3)
print(dataframe1)

输出:

   attendance   name  obtained marks
2        80.0  laura            82.0

thresh 的值是 3,这意味着为了防止掉落,至少需要 3 个非空值。

我们也可以指定 subset

import pandas as pd
dataframe = pd.dataframe(
    {
        "attendance": {0: 60, 1: none, 2: 80, 3: none, 4: 95},
        "name": {0: "olivia", 1: "john", 2: "laura", 3: "ben", 4: "kevin"},
        "obtained marks": {0: none, 1: 75, 2: 82, 3: 64, 4: none},
    }
)
dataframe1 = dataframe.dropna(subset=["attendance", "name"])
print(dataframe1)

输出:

   attendance    name  obtained marks
0        60.0  olivia             nan
2        80.0   laura            82.0
4        95.0   kevin             nan

根据 attendancename 列,删除缺失值的行。如果只有其他列中的值比如这里的 obtained marks 列有缺失值,它就不会删除记录。


示例代码:dataframe.dropna()inplace=true

dataframe.dropna() 如果 inplace 被设置为 true,则调用者 dataframe 就地改变。

import pandas as pd
dataframe = pd.dataframe(
    {
        "attendance": {0: 60, 1: none, 2: 80, 3: none, 4: 95},
        "name": {0: "olivia", 1: "john", 2: "laura", 3: "ben", 4: "kevin"},
        "obtained marks": {0: none, 1: 75, 2: 82, 3: 64, 4: none},
    }
)
dataframe1 = dataframe.dropna(inplace=true)
print(dataframe1)

输出:

none

该参数对调用者 dataframe 进行了原地修改,返回 none

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

本文地址:

相关文章

pandas read_csv()函数

发布时间:2024/04/24 浏览次数:254 分类:python

pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 dataframe 中。

pandas 追加数据到 csv 中

发布时间:2024/04/24 浏览次数:352 分类:python

本教程演示了如何在追加模式下使用 to_csv()向现有的 csv 文件添加数据。

pandas 多列合并

发布时间:2024/04/24 浏览次数:628 分类:python

本教程介绍了如何在 pandas 中使用 dataframe.merge()方法合并两个 dataframes。

pandas loc vs iloc

发布时间:2024/04/24 浏览次数:837 分类:python

本教程介绍了如何使用 python 中的 loc 和 iloc 从 pandas dataframe 中过滤数据。

扫一扫阅读全部技术教程

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

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便
网站地图