📜  Python| Pandas DataFrame.dropna()(1)

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

Python | Pandas DataFrame.dropna()

Pandas是Python的一个库,用于数据处理和数据分析。其中DataFrame是Pandas库中最常用的数据结构之一。DataFrame.dropna()是一种函数,用于移除DataFrame或Series对象中包含缺失值的行或列。

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

参数说明:

  • axis:要删除的轴,默认为0,表示删除包含缺失值的行;axis=1表示删除包含缺失值的列。
  • how:指定删除方式,默认为any,表示只要有缺失值就删除该行或列。如果设置为all,则所有值均为缺失值时才删除行或列。
  • thresh:指定保留的非空数据的最低数量。thresh=n表示保留至少有n个非空值的行或列。
  • subset:指定应用dropna()操作的列的列表。默认为None,表示应用到所有列。
  • inplace:直接在原始数据上生效,而不是复制一份。默认为False,即不在原始数据上修改,返回删除缺失值的新数据副本。
示例
import pandas as pd
import numpy as np

df = pd.DataFrame({'A': [1, 2, np.nan, 4], 
                   'B': [5, np.nan, np.nan, 8], 
                   'C': [9, 10, 11, 12]})

# 移除包含缺失值的行
df_new = df.dropna()
print(df_new)
# 输出:
#      A    B   C
# 0  1.0  5.0   9
# 3  4.0  8.0  12

# 移除包含缺失值的列
df_new = df.dropna(axis=1)
print(df_new)
# 输出:
#     C
# 0   9
# 1  10
# 2  11
# 3  12

# 设置thresh参数
df_new = df.dropna(thresh=2)
print(df_new)
# 输出:
#      A    B   C
# 0  1.0  5.0   9
# 1  2.0  NaN  10
# 3  4.0  8.0  12

# 设置subset参数
df_new = df.dropna(subset=['A'])
print(df_new)
# 输出:
#      A    B   C
# 0  1.0  5.0   9
# 1  2.0  NaN  10
# 3  4.0  8.0  12