📜  dropna 阈值 - Python (1)

📅  最后修改于: 2023-12-03 15:30:34.091000             🧑  作者: Mango

Dropna Threshold - Python

dropna是一个用于Pandas数据框架中的函数,用于删除缺失值(NaN)。有时候我们可能希望仅删除缺失值超过一定数量的行或列,而不是每个有缺失值的行或列都要删除。这时候,我们可以使用dropna中的thresh参数来设置一个阈值,表示只有缺失值数目达到或超过这个阈值的行或列才会被删除。

语法

dropna的语法如下:

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

其中,thresh参数即为阈值,它的默认值为None,表示每行或每列只要有缺失值就会被删除。如果我们想设置一个阈值,比如说只有缺失值超过2个的行才会被删除,我们可以这样写:

df.dropna(thresh=2)
示例

接下来我们来看一个示例。假设我们有以下的数据框架:

import pandas as pd
import numpy as np

df = pd.DataFrame({'A': [1, np.nan, np.nan, 4],
                   'B': [np.nan, 2, np.nan, np.nan],
                   'C': [1, 2, np.nan, 4],
                   'D': [1, 2, 3, 4]})

这个数据框架长这样:

     A    B    C  D
0  1.0  NaN  1.0  1
1  NaN  2.0  2.0  2
2  NaN  NaN  NaN  3
3  4.0  NaN  4.0  4

我们现在想要删除至少有3个缺失值的行。我们可以这样写:

df.dropna(thresh=3)

最终的结果是这样的:

     A    B    C  D
3  4.0  NaN  4.0  4

我们可以看到,只剩下了第4行,因为这是唯一一个缺失值不超过2个的行。

结论

在处理缺失值时,我们经常需要使用dropna函数。使用thresh参数,我们可以设置一个缺失值的阈值,只有达到或超过这个数目的行或列才会被删除。