dropna()
是Pandas库中的一个非常实用的函数,用于处理缺失数据。它允许你从DataFrame或Series中删除含有缺失值(NaN,None等)的行或列。以下是**dropna()
函数**的一些基本用法和参数介绍:
一、基本语法
python
DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
参数解释
-
axis:指定删除操作是在行(0,默认值)还是列(1)。如果数据结构是一维的Series,这个参数会被忽略。
-
how:定义判断缺失值的标准。
'
any'
(默认):只要某行/列包含任何一个NaN值,就删除该行/列。'
all'
:仅当某行/列的所有值都是NaN时,才删除该行/列。
-
thresh:设置一个阈值,表示最少非NaN值的数量。只有当某行/列的非NaN值数量大于等于这个阈值时,才保留该行/列。
-
subset:指定考虑哪些列来进行缺失值检查。如果未提供,则检查整个DataFrame。
-
inplace:如果设置为True,将会直接在原始DataFrame上进行修改,而不是返回一个新的DataFrame。
二、示例
python
# 假设我们有一个包含缺失值的DataFrame df
import pandas as pd
import numpy as np
data = {'A': [1, 2, np.nan, 4],
'B': [5, np.nan, np.nan, 8],
'C': [9, 10, 11, 12]}
df = pd.DataFrame(data)
# 删除任何含有缺失值的行
df_cleaned = df.dropna()
# 删除所有值都是缺失值的列
df_cleaned = df.dropna(axis=1, how='all')
# 删除C列以外,含有缺失值的行
df_cleaned = df.dropna(subset=['A', 'B'])
# 仅保留至少有2个非NaN值的行
df_cleaned = df.dropna(thresh=2)
# 直接在原DataFrame上操作
df.dropna(inplace=True)
参考官方文档