Python:Pandas删除特定行——dropna的用法

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)

参考官方文档

相关推荐
怕浪猫4 小时前
RAG 面试 6 连问,从原理到优化全部覆盖
python·算法·面试
高洁014 小时前
具身智能中的世界模型训练
人工智能·python·深度学习·机器学习·transformer
无线通信科研笔记4 小时前
IEEE TVT 2026 论文精读与完整复现|相位误差如何重塑近场 RIS 的幅相响应
论文阅读·人工智能·python·算法·论文笔记
朝朝辞暮i5 小时前
VLA 系统学习第 1 课:VLA 到底在干什么?
人工智能·python·计算机视觉·vla
2601_962885725 小时前
如何用 Python 自动识别股票的支撑位与压力位?
开发语言·python
爱吃奥利奥_wen6 小时前
面向对象三板斧:封装、继承、多态,到底在“装“什么、“承“什么、“变“什么?
开发语言·经验分享·c#
北冥有鱼被烹6 小时前
VCSEL全景解析:与光模块NPO CPO的关系、市场量化分析与产业链影响
python
我可能是个假开发6 小时前
FTP Unicode 文件名导致 `550` 的问题分析与解决方案
java·开发语言·spring
caoerzhong6 小时前
中小企业上 WMS 该先上哪几块:JeeWMS 开源 Java 仓库管理系统的分批上线清单
java·python·开源
正在走向自律6 小时前
AI数据分析与可视化:从基础到应用实践
服务器·人工智能·python·机器学习·数据分析·pandas