Python学习笔记:pd.dropna删除缺失值

一、介绍

pd.dropna() 函数主要用于删除缺失数据。

  • Series 返回一个仅包含非空数据和索引的 Series,默认丢弃含有缺失值的行
  • DataFrame 可以通过参数更详细的删除行数据

使用语法:

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

参数解释:

axis=0 删除含有缺失值的行 axis=1 删除列
how=all、any all表示删除全是缺失值的行、any表示任意一个缺失值
thresh=n 表示保留至少含有n个非缺失值的行
subset 定义查找的列
inplace 是否在原始数据框中修改数据

二、实操

0.构建测试数据集

import pandas as pd
import numpy as np

df = pd.DataFrame({'Name':['A','B','C'],
                   'Toy':[np.nan, 'Bat','Bull'],
                   'Born':[pd.NaT, pd.Timestamp('1992-12-12'), pd.NaT]})
'''
  Name   Toy       Born
0    A   NaN        NaT
1    B   Bat 1992-12-12
2    C  Bull        NaT
'''

1.axis 删除行列

axis=0 或者 axis='index' 表示删除含有缺失值的行

axis=1 或者 axis='columns' 表示删除含有缺失值的列

# 默认删除
df.dropna()

# 按列删除
df.dropna(axis=1)

2.how 删除方式

  • how='all' 表示删除全是缺失值的行(列)
  • how='any' 表示删除只要有任意一个缺失值的行(列)
df.dropna(how='all') # 无变化

df.dropna(how='any') # 任意一个

3.thresh=n 保留至少含有n个非NA值

df.dropna(thresh=2)
'''
  Name   Toy       Born
1    B   Bat 1992-12-12
2    C  Bull        NaT
'''

4.subset 定义列

df.dropna(subset=['Name','Born'])

5.inplace 修改原始数据框

参考链接:pandas之dropna()

参考链接:pandas中dropna()参数详解

posted @ 2022-01-01 11:27  Hider1214  阅读(4466)  评论(0编辑  收藏  举报