📅  最后修改于: 2023-12-03 14:49:39.401000             🧑  作者: Mango
在数据处理过程中,经常会遇到缺失值(NaN)的情况。NaN 是 Pandas 库中用来表示缺失值的浮点数。为了处理缺失值,Pandas 提供了 fillna()
函数,它可以用指定的值或方法来替换 NaN。
本文将介绍如何使用 fillna()
函数来替换 NaN 值,并提供一些丰富的示例。以下是使用 fillna()
函数处理 NaN 的基本语法:
dataframe.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None)
value
: 要用来替换缺失值的标量、字典、Series 或 DataFrame。method
: 可选参数,用于指定替换缺失值的方法。可选的方法包括 None
、ffill
、bfill
等。axis
: 指定轴的方向,用于指示在哪个轴上进行填充操作。inplace
: 可选参数,指示是否在原始 DataFrame 上进行更改。limit
: 可选参数,用于限制每列/行的连续填充数目。downcast
: 可选参数,用于指定更小的数据类型以节省内存。下面是一些示例,演示了如何使用 fillna()
函数替换 NaN 值。
import pandas as pd
data = {'A': [1, 2, NaN], 'B': [NaN, 5, NaN]}
df = pd.DataFrame(data)
df.fillna(0)
输出结果:
A B
0 1 0.0
1 2 5.0
2 0 0.0
import pandas as pd
data = {'A': [1, 2, NaN, 4, NaN], 'B': [NaN, 5, NaN, NaN, 8]}
df = pd.DataFrame(data)
df.fillna(method='ffill')
输出结果:
A B
0 1 NaN
1 2 5.0
2 2 5.0
3 4 5.0
4 4 8.0
import pandas as pd
data = {'A': [1, NaN, 3, NaN, 5], 'B': [NaN, NaN, NaN, 8, 9]}
df = pd.DataFrame(data)
df.fillna(method='bfill')
输出结果:
A B
0 1 8.0
1 3 8.0
2 3 8.0
3 5 8.0
4 5 9.0
import pandas as pd
data = {'A': [1, 2, NaN], 'B': [NaN, 5, NaN]}
df = pd.DataFrame(data)
df.fillna(0, axis=1)
输出结果:
A B
0 1.0 0.0
1 2.0 5.0
2 0.0 0.0
import pandas as pd
data = {'A': [1, 2, NaN], 'B': [NaN, 5, NaN]}
df = pd.DataFrame(data)
df.fillna(0, inplace=True)
df
输出结果:
A B
0 1 0.0
1 2 5.0
2 0 0.0
以上是使用 fillna()
函数替换 NaN 的一些示例。你可以根据具体的需求选择合适的替换方法和参数。
希望本文对你理解如何处理缺失值有所帮助!