📅  最后修改于: 2023-12-03 15:30:34.091000             🧑  作者: Mango
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
参数,我们可以设置一个缺失值的阈值,只有达到或超过这个数目的行或列才会被删除。