• 主页

  • 投资

  • IT

    🔥
  • 设计

  • 销售

  • 共95篇

    python3.X - 数据分析 - Pandas

关闭

返回栏目

关闭

返回python3.X - 数据分析 - Pandas栏目

52 - 内容 - df.dropna() - 删除所有包含空值的行

作者:

贺及楼

成为作者

更新日期:2024-10-18 14:35:04

dropna()删除所有包含空值的行

删除所有包含空值的行

Pandas 的 dropna() 函数用于删除数据中的缺失值(通常表示为 NaN)。这个函数对于数据清洗特别有用,因为缺失值可能会影响数据分析和模型训练的结果。

以下是 dropna() 函数的一些关键特点:

删除缺失值:
可以删除包含缺失值的行或列。

就地删除:
通过设置 inplace=True,可以就地修改 DataFrame,不返回新的 DataFrame。

指定轴:
可以指定删除行(axis=0)或列(axis=1)中的缺失值。

删除所有含缺失值的行或列:
设置 how=’any’ 删除任何包含缺失值的行或列。
设置 how=’all’ 仅删除所有值都是缺失值的行或列。

限制删除数量:
通过 thresh 参数可以指定每行或每列必须有至少多少个非缺失值才会被保留。

处理多重索引:
对于具有多级索引的 DataFrame,dropna() 也可以应用于索引层级。

删除所有包含空值的行例子

  1. import numpy as np
  2. import pandas as pd
  3. df = pd.DataFrame(data=[{"A":"one", "B":"a", "C":11}, {"A":"two", "B":np.nan, "C":22}, {"A":"one", "B":1, "C":12}])
A B C
0 one a 11
1 two NaN 22
2 one 1 12
  1. df1 = df.dropna() # 删除所有包含空值的行
A B C
0 one a 11
2 one 1 12

index索引没有变,要更新一下,具体使用列级 - df.reset_index() - 索引重置

  1. df2 = df1.reset_index(drop=True)
  1. import numpy as np
  2. import pandas as pd
  3. df = pd.DataFrame(data=[{"A":"one", "B":"a", "C":11}, {"A":"two", "B":np.nan, "C":22}, {"A":"one", "B":1, "C":12}])
  4. print(df)
  5. df1 = df.dropna()
  6. print(df1)
  7. df2 = df1.reset_index(drop=True)
  8. print(df2)

df dropna删除有空值行