📜  dropna pandas - Python (1)

📅  最后修改于: 2023-12-03 14:40:52.935000             🧑  作者: Mango

Pandas中的dropna方法

Pandas是Python中一个流行的数据处理库,它通过DataFrameSeries对象提供了灵活的数据结构来处理表格数据。dropna()方法是Pandas中一个非常有用的函数之一。它可以用于过滤掉DataFrame中含有缺失值的行或列,使数据更具有一致性。

函数原型

dropna()函数有几个不同的可选参数,可以根据需要进行调整,最基本的函数原型如下:

DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)

参数说明:

  • axis:整数或字符串类型,表示要删除的轴,0表示行,1表示列,缺省值为0。
  • how:字符串类型,表示删除的条件,默认为"any",即当某一行/列存在缺失值时删除。可选值为"any"和"all",分别表示当存在任意一个或全部缺失值时删除行/列。
  • thresh:整数类型,表示保留的非缺失值数量。若行/列中非缺失值数量小于该参数,则被删除。
  • subset:列表类型,表示对某些列进行删除。该参数仅在axis=0时生效。
  • inplace:布尔类型,表示是否对原DataFrame进行修改,默认为False,即返回一个新的DataFrame。
使用示例

下面通过一个简单的示例来展示dropna()函数的使用。

首先我们创建一个包含缺失值的DataFrame:

import pandas as pd
import numpy as np

data = {"A": [1, 2, np.nan, 4, 5],
        "B": [6, np.nan, 8, 9, 10],
        "C": [11, 12, 13, np.nan, 15],
        "D": [16, 17, 18, 19, 20]}

df = pd.DataFrame(data)

这样就创建了一个包含4列、5行的DataFrame,其中存在一些缺失值。我们可以使用isnull()函数来查看DataFrame中的缺失值:

print(df.isnull())

输出:

       A      B      C      D
0  False  False  False  False
1  False   True  False  False
2   True  False  False  False
3  False  False   True  False
4  False  False  False  False

我们可以发现,DataFrame中第0、3行、第1列和第2列存在缺失值。下面我们用dropna()函数过滤掉这些缺失值:

df = df.dropna()
print(df)

输出:

     A     B     C   D
4  5.0  10.0  15.0  20

可以看出,函数将包含缺失值的行全部删除,最后返回一个更新后的DataFrame。

小结

dropna()函数是Pandas中一种非常有用的数据处理工具,可以用于过滤DataFrame中含有缺失值的行或列,使得数据变得更加具有一致性。我们可以根据需要调整函数的参数,以满足各种不同的需求。