| 
                            
                                  一、简介ffill(forward fill)是Pandas库中DataFrame和Series对象的一个函数,用于填充缺失值(NaN)。它通过使用前面的有效值来填充后续的缺失值,也被称为"前向填充"。 二、语法和参数
	
		
			| 1 | DataFrame.ffill(axis=None, inplace=False, limit=None, downcast=None) |  主要参数: 
	axis:填充的方向。{0 or ‘index’, 1 or ‘columns’},默认为0。inplace:是否在原对象上进行修改,默认为False。limit:指定连续填充的最大数量,默认为None。downcast:可选,将结果转换为指定的dtype,默认为None。 三、实例3.1 基本使用代码: 
	
		
			| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import pandas as pd import numpy as np   # 创建一个包含NaN的DataFrame df = pd.DataFrame({     'A': [1, 2, np.nan, np.nan, 5],     'B': [np.nan, 2, 3, np.nan, 5],     'C': [1, 2, 3, 4, 5] })   print("原始DataFrame:") print(df)   print("\n使用ffill()后的DataFrame:") print(df.ffill()) |  输出: 
原始DataFrame:A    B  C
 0  1.0  NaN  1
 1  2.0  2.0  2
 2  NaN  3.0  3
 3  NaN  NaN  4
 4  5.0  5.0  5
 使用ffill()后的DataFrame:A    B  C
 0  1.0  NaN  1
 1  2.0  2.0  2
 2  2.0  3.0  3
 3  2.0  3.0  4
 4  5.0  5.0  5
 3.2 指定axis参数代码: 
	
		
			| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | import pandas as pd import numpy as np   df = pd.DataFrame({     'A': [1, 2, np.nan, np.nan, 5],     'B': [np.nan, 2, 3, np.nan, 5],     'C': [1, 2, 3, 4, 5] })   print("原始DataFrame:") print(df)   print("\n使用ffill(axis=1)后的DataFrame:") print(df.ffill(axis=1)) |  输出: 
原始DataFrame:A    B  C
 0  1.0  NaN  1
 1  2.0  2.0  2
 2  NaN  3.0  3
 3  NaN  NaN  4
 4  5.0  5.0  5
 使用ffill(axis=1)后的DataFrame:A    B    C
 0  1.0  1.0  1.0
 1  2.0  2.0  2.0
 2  NaN  3.0  3.0
 3  NaN  NaN  4.0
 4  5.0  5.0  5.0
 3.3 使用limit参数代码: 
	
		
			| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | import pandas as pd import numpy as np   df = pd.DataFrame({     'A': [1, np.nan, np.nan, np.nan, 5],     'B': [np.nan, 2, np.nan, np.nan, 5],     'C': [1, 2, 3, 4, 5] })   print("原始DataFrame:") print(df)   print("\n使用ffill(limit=1)后的DataFrame:") print(df.ffill(limit=1)) |  输出: 
原始DataFrame:A    B  C
 0  1.0  NaN  1
 1  NaN  2.0  2
 2  NaN  NaN  3
 3  NaN  NaN  4
 4  5.0  5.0  5
 使用ffill(limit=1)后的DataFrame:A    B  C
 0  1.0  NaN  1
 1  1.0  2.0  2
 2  NaN  2.0  3
 3  NaN  NaN  4
 4  5.0  5.0  5
 四、注意事项
	ffill()函数只能填充NaN值,对于其他类型的缺失值(如None)可能无效。使用inplace=True可以直接在原DataFrame上进行修改,但这会改变原始数据,使用时需谨慎。ffill()函数在处理大型数据集时可能会消耗较多内存和时间,特别是在使用axis=1时。当使用limit参数时,只有指定数量的连续NaN值会被填充,超出限制的NaN值将保持不变。ffill()函数是fillna(method='ffill')的简写形式,两者功能相同。在时间序列数据处理中,ffill()特别有用,可以用来填充缺失的时间点数据。 
 |