【Pandas】pandas Series ffill

devtools/2025/3/1 8:50:00/

Pandas2.2 Series

Computations descriptive stats

方法描述
Series.backfill(*[, axis, inplace, limit, …])用于填充 Series 中缺失值(NaN)的方法
Series.bfill(*[, axis, inplace, limit, …])用于填充 Series 中缺失值(NaN)的方法
Series.dropna(*[, axis, inplace, how, …])用于删除 Series 中包含缺失值(NaN)的元素的方法
Series.ffill(*[, axis, inplace, limit, …])用于填充 Series 中缺失值(NaN)的方法

pandasSeriesffill_11">pandas.Series.ffill

pandas.Series.ffill 是用于填充 Series 中缺失值(NaN)的方法,它会用前面最近的有效观测值来填充当前的缺失值。该方法等价于 Series.fillna(method='ffill')

参数说明
  • axis:{0或’index’},默认为0。表示沿哪个轴进行操作。对于 Series 来说,这个参数通常不需要设置。
  • inplace:布尔值,默认为 False。如果为 True,则就地修改原 Series,否则返回一个新的 Series
  • limit:整数,默认为 None。指定最大连续填充个数,超过此限制的缺失值将不被填充。
  • limit_area:可选,默认为 None。指定填充区域,可以是 ‘inside’ 或 ‘outside’,用于控制填充范围。
  • downcast:可选,默认为 <no_default>。用于向下转换数据类型,例如从浮点型转换为整型。
示例及结果
示例1:基本用法
import pandas as pd
import numpy as np# 创建一个包含缺失值的 Series
s = pd.Series([1, np.nan, np.nan, 4, 5, np.nan, 7])
print("原始 Series:")
print(s)# 使用 ffill 方法填充缺失值
filled_s = s.ffill()
print("\n填充后的 Series (使用 ffill):")
print(filled_s)

输出结果:

原始 Series:
0    1.0
1    NaN
2    NaN
3    4.0
4    5.0
5    NaN
6    7.0
dtype: float64填充后的 Series (使用 ffill):
0    1.0
1    1.0
2    1.0
3    4.0
4    5.0
5    5.0
6    7.0
dtype: float64
示例2:使用 inplace 参数
# 创建一个包含缺失值的 Series
s_inplace = pd.Series([1, np.nan, np.nan, 4, 5, np.nan, 7])
print("原始 Series:")
print(s_inplace)# 使用 ffill 方法并设置 inplace=True
s_inplace.ffill(inplace=True)
print("\n填充后的 Series (使用 ffill 并设置 inplace=True):")
print(s_inplace)

输出结果:

原始 Series:
0    1.0
1    NaN
2    NaN
3    4.0
4    5.0
5    NaN
6    7.0
dtype: float64填充后的 Series (使用 ffill 并设置 inplace=True):
0    1.0
1    1.0
2    1.0
3    4.0
4    5.0
5    5.0
6    7.0
dtype: float64
示例3:使用 limit 参数
# 创建一个包含缺失值的 Series
s_limit = pd.Series([1, np.nan, np.nan, 4, 5, np.nan, np.nan, 8])
print("原始 Series:")
print(s_limit)# 使用 ffill 方法并设置 limit=1
filled_s_limit = s_limit.ffill(limit=1)
print("\n填充后的 Series (使用 ffill 并设置 limit=1):")
print(filled_s_limit)

输出结果:

原始 Series:
0    1.0
1    NaN
2    NaN
3    4.0
4    5.0
5    NaN
6    NaN
7    8.0
dtype: float64填充后的 Series (使用 ffill 并设置 limit=1):
0    1.0
1    1.0
2    NaN
3    4.0
4    5.0
5    5.0
6    NaN
7    8.0
dtype: float64
示例4:使用 limit_area 参数
# 创建一个包含缺失值的 Series
s_limit_area = pd.Series([1, np.nan, np.nan, 4, 5, np.nan, np.nan, 8, np.nan])
print("原始 Series:")
print(s_limit_area)# 使用 ffill 方法并设置 limit_area='inside'
filled_s_limit_area_inside = s_limit_area.ffill(limit=2, limit_area='inside')
print("\n填充后的 Series (使用 ffill 并设置 limit=2 和 limit_area='inside'):")
print(filled_s_limit_area_inside)# 使用 ffill 方法并设置 limit_area='outside'
filled_s_limit_area_outside = s_limit_area.ffill(limit=2, limit_area='outside')
print("\n填充后的 Series (使用 ffill 并设置 limit=2 和 limit_area='outside'):")
print(filled_s_limit_area_outside)

输出结果:

原始 Series:
0    1.0
1    NaN
2    NaN
3    4.0
4    5.0
5    NaN
6    NaN
7    8.0
8    NaN
dtype: float64填充后的 Series (使用 ffill 并设置 limit=2 和 limit_area='inside'):
0    1.0
1    1.0
2    1.0
3    4.0
4    5.0
5    5.0
6    5.0
7    8.0
8    NaN
dtype: float64填充后的 Series (使用 ffill 并设置 limit=2 和 limit_area='outside'):
0    1.0
1    1.0
2    NaN
3    4.0
4    5.0
5    NaN
6    NaN
7    8.0
8    8.0
dtype: float64

通过这些示例,可以看到 ffill 方法在不同参数下的使用方式及其效果。特别是 limitlimit_area 参数可以更灵活地控制填充行为,从而更好地处理缺失值。


http://www.ppmy.cn/devtools/163567.html

相关文章

算法day3 dfs搜索2题

一 奇怪的电梯 我们来分析题目 这个题目有很多层电梯 我们处于这个电梯的时候&#xff0c;我们要考虑&#xff0c;我们在这个电梯里面是要上去还是下去&#xff0c;有两个选择&#xff0c;上去和下来&#xff0c;我们要对于这个上去和下去进行深度搜索&#xff0c;找出那个最…

日语学习-日语知识点小记-构建基础-JLPT-N4N5阶段(14):(1)普通(ふつう)形 :变形练习|(2)と思います:认为 猜测

日语学习-日语知识点小记-构建基础-JLPT-N4&N5阶段(14):(1)普通(ふつう)形 :变形练习|(2)と思います:认为 & 猜测  1、前言(1)情况说明(2)工程师的信仰2、知识点(1)普通(ふつう)形:Plain style:简体(2)と思います:认为 & 猜测3、单词(1…

智慧校园平台在学生学习与生活中的应用

随着科技的发展&#xff0c;教育领域也在不断探索新的模式与方法。智慧校园平台作为教育信息化的重要组成部分&#xff0c;正逐渐成为推动教育改革、提高教学质量的关键工具。 一.智慧校园平台概述 智慧校园平台是一种集成了教学管理、资源服务、数据分析等多功能于一体的数字…

el-table修改表格颜色

文章目录 一、el-table属性修改表格颜色1.1、header-row-class-name修改表头行颜色1.2、header-row-style修改表头样式1.3、row-class-name修改行颜色 二、el-table-column属性修改表格颜色2.1、class-name修改整列的颜色2.2、label-class-name修改列标题颜色 本文讲解vue修改e…

Angular从入门到精通教程篇章

Angular 是一个强大的前端框架&#xff0c;适合构建复杂的企业级应用。为了帮助你从入门到精通 Angular&#xff0c;以下是详细的学习路径和教程篇章。 篇章一&#xff1a;入门篇 (1) 了解 Angular 什么是 Angular&#xff1f; Angular 是一个基于 TypeScript 的前端框架&am…

Ubuntu20.04安装Isaac sim/ Isaac lab

2025年之后omniverse好像不能直接装Isaac sim了&#xff0c;要跳转到官网链接。 Isaac lab要在Isaac sim安装之后才能安装 Ubuntu20.04安装Isaac sim/ Isaac lab Isaac sim安装Isaac lab安装 Isaac sim安装 找到官网 Isaac sim官方文档 下载下来解压到本地文件夹&#xff0c…

Day29 第八章 贪心算法 part02

一. 学习文章及资料 122.买卖股票的最佳时机II 55.跳跃游戏 45.跳跃游戏II 二. 学习内容 1. 买卖股票的最佳时机II 收集正利润的区间&#xff0c;就是股票买卖的区间&#xff0c;而我们只需要关注最终利润&#xff0c;不需要记录区间。 那么只收集正利润就是贪心所贪的地方&…

HTTP服务

一、HTTP协议介绍 http 应用层协议 超文本传输协议 作用&#xff1a; 构建网站服务器 在客户端和网站服务器传输文本数据&#xff0c;浏览器会将文本数据解析成对应的图片、视频进行展示 1、网站类型 静态网页 任何客户端在任何时候访问时看到的数据是一致的 *.html…