pandas中NaN缺失值的处理方法

当我们处理数据的时候,经常会遇到缺失值的情况,这时需要使用pandas提供的一些函数来处理NaN缺失值。下面,我将为大家详细介绍pandas中NaN缺失值的处理方法:

查看缺失值

使用pandas中的isnull()函数可以查看缺失值,该函数会返回一个布尔值的DataFrame,缺失值处为True,否则为False。

import pandas as pd
df = pd.read_csv('data.csv')
print(df.isnull())

删除缺失值

pandas中提供了dropna()函数来删除缺失值。

import pandas as pd
df = pd.read_csv('data.csv')
df = df.dropna() # 删除掉任何包含NaN值的行或列

另外,还可以通过设置axis参数来控制删除行或删除列,默认是删除行。

df = df.dropna(axis=1) # 删除任何包含NaN值的列

填充缺失值

pandas中提供了fillna()函数来填充缺失值。该函数包含多个参数:

  • value: 使用该值来填充缺失值。
  • method: 插值方法,可以选择ffill向前填充或bfill向后填充。
  • axis: 填充方向,0表示按列填充,1表示按行填充。
import pandas as pd
import numpy as np
df = pd.read_csv('data.csv')
# 使用0来填充缺失值
df = df.fillna(value=0)
# 使用平均值来填充缺失值
df = df.fillna(df.mean())
# 向前填充缺失值
df = df.fillna(method='ffill')

以上就是pandas中NaN缺失值的处理方法。接下来,我将给出两个具体的实例:

示例1

假设我们有一个DataFrame,其中包含了某个城市7天的气温数据。有几天的气温数据缺失,我们希望通过平均值来填充缺失值。

import pandas as pd
import numpy as np
df = pd.DataFrame({
    'date': ['2020-01-01', '2020-01-02', '2020-01-03', '2020-01-04', '2020-01-05', '2020-01-06', '2020-01-07'],
    'temperature': [20, 23, np.nan, 21, np.nan, 25, 22]
})
# 使用平均值来填充缺失值
df = df.fillna(df.mean())
print(df)

输出结果如下:

         date  temperature
0  2020-01-01     20.000000
1  2020-01-02     23.000000
2  2020-01-03     22.166667
3  2020-01-04     21.000000
4  2020-01-05     22.166667
5  2020-01-06     25.000000
6  2020-01-07     22.000000

我们可以看到,缺失的气温数据已经被平均值所填充。

示例2

假设我们有一个DataFrame,其中包含销售数据。如果出现了某一天的销售额缺失,我们希望删除该行。

import pandas as pd
df = pd.DataFrame({
    'date': ['2020-01-01', '2020-01-02', '2020-01-03', '2020-01-04', '2020-01-05'],
    'sales': [1000, 2000, 3000, pd.np.nan, 5000]
})
# 删除缺失值
df = df.dropna()
print(df)

输出结果如下:

         date  sales
0  2020-01-01   1000
1  2020-01-02   2000
2  2020-01-03   3000
4  2020-01-05   5000

我们可以看到,缺失的销售额数据所在的行已经被删除。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pandas中NaN缺失值的处理方法 - Python技术站

(0)
上一篇 2023年6月13日
下一篇 2023年6月13日

相关文章

  • Pandas缺失值填充 df.fillna()的实现

    Pandas是目前数据分析中最广泛应用的数据处理工具之一,而数据中缺失值的处理也是工作中非常常见和必不可少的一环,这时候就需要用到Pandas提供的fillna()函数。 一、fillna()函数参数详解首先来看一下fillna()函数的参数,常用的参数如下: value:指定填充缺失值的具体值,可以是一个标量值,也可以是一个Series或DataFrame…

    python 2023年6月13日
    00
合作推广
合作推广
分享本页
返回顶部