df = pd.DataFrame({'col1': [1, np.nan, 3], 'col2': [1, np.nan, np.nan], 'col3': [np.nan, 2, np.nan]})
df.fillna(method='ffill')
验证 fillna(method='ffill')
pandas.DataFrame.fillna()
是 Pandas 中用于填充缺失数据(NaN或None)的函数。它可以接受多个参数来控制填充的方式。以下是 fillna()
的主要参数及其说明:
value
:要用于填充缺失值的标量值或字典、Series、DataFrame。这是必选参数。method
:可选参数,用于指定填充方法。有以下选项:
None
(默认值):不使用任何方法,只是使用指定的value
来填充。'ffill'
:用前一个非缺失值来填充缺失值。'bfill'
:用后一个非缺失值来填充缺失值。'pad'
:等同于'ffill'
。'backfill'
:等同于'bfill'
。
axis
:可选参数,用于指定要填充的轴(0表示行,1表示列)。默认为0。inplace
:可选参数,如果设置为True,则在原始 DataFrame 上进行填充操作,而不是返回一个新的填充后的 DataFrame。默认为False。limit
:可选参数,用于限制连续填充的次数。例如,如果设置为1,则只填充每个缺失值的第一个。默认为None,表示不限制填充次数。downcast
:可选参数,用于控制数据类型的转换。默认为None,表示不进行类型转换。
以下是一些示例:
import pandas as pd
import numpy as np
data = {'A': [1, 2, np.nan, 4, 5],
'B': [np.nan, 2, 3, np.nan, 5]}
df = pd.DataFrame(data)
# 使用常数值来填充缺失值
df.fillna(0, inplace=True)
# 使用前一个非缺失值来填充缺失值
df.fillna(method='ffill', inplace=True)
# 使用后一个非缺失值来填充缺失值
df.fillna(method='bfill', inplace=True)
# 在指定轴上填充缺失值
df.fillna({'A': 0, 'B': 1}, inplace=True)
# 限制填充的次数
df.fillna(method='ffill', limit=1, inplace=True)
这些示例演示了如何使用 fillna()
函数填充缺失数据,并根据不同参数的组合来进行填充操作。