使用 pandas 数据帧中的前向和后向填充来填充缺失值(ffill 和 bfill)

2023-11-25

熊猫数据框初学者。我的数据集如下,其中 A 列和 B 列缺少值 (Test.csv):

DateTime              A             B
01-01-2017 03:27        
01-01-2017 03:28        
01-01-2017 03:29    0.18127718  -0.178835737
01-01-2017 03:30    0.186923018 -0.183260853
01-01-2017 03:31        
01-01-2017 03:32        
01-01-2017 03:33    0.18127718  -0.178835737

我可以使用此代码通过前向传播来填充值,但这仅填充 03:31 和 03:32,而不填充 03:27 和 03:28。

import pandas as pd
import numpy as np

df = pd.read_csv('test.csv', index_col = 0)
data = df.fillna(method='ffill')
ndata = data.to_csv('test1.csv')

结果是:

   DateTime              A             B
    01-01-2017 03:27        
    01-01-2017 03:28        
    01-01-2017 03:29    0.18127718  -0.178835737
    01-01-2017 03:30    0.186923018 -0.183260853
    01-01-2017 03:31    0.186923018 -0.183260853
    01-01-2017 03:32    0.186923018 -0.183260853
    01-01-2017 03:33    0.18127718  -0.178835737

如何使用 backfil 包含“Bfill”来填充 03:27 和 03:28 的缺失值?


您可以使用ffill and bfill如果需要更换NaN值向前和向后填充:

print (df)
                         A         B
DateTime                            
01-01-2017 03:27       NaN       NaN
01-01-2017 03:28       NaN       NaN
01-01-2017 03:29  0.181277 -0.178836
01-01-2017 03:30  0.186923 -0.183261
01-01-2017 03:31       NaN       NaN
01-01-2017 03:32       NaN       NaN
01-01-2017 03:33  0.181277 -0.178836

data = df.ffill().bfill()
print (data)
                         A         B
DateTime                            
01-01-2017 03:27  0.181277 -0.178836
01-01-2017 03:28  0.181277 -0.178836
01-01-2017 03:29  0.181277 -0.178836
01-01-2017 03:30  0.186923 -0.183261
01-01-2017 03:31  0.186923 -0.183261
01-01-2017 03:32  0.186923 -0.183261
01-01-2017 03:33  0.181277 -0.178836

与功能相同fillna带参数:

data = df.fillna(method='ffill').fillna(method='bfill')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 pandas 数据帧中的前向和后向填充来填充缺失值(ffill 和 bfill) 的相关文章

随机推荐

  • 获取文件的创建日期/时间

    这似乎是一个非常简单的问题 但我无法在网上找到明确的答案 如何通过 Java 的文件管理器获取文件创建的日期 时间 除了文件名之外 我还能获得有关文件 属性 的哪些信息 我不确定如何使用 Java 6 及更低版本获得它 使用 Java 7
  • 零除错误 (Python)

    我收到一些图像的零除错误 尽管其中很多都工作得很好 这是代码 image skimage io imread test png False image gray skimage io imread test png True blurred
  • 为什么模板只能在头文件中实现?

    引用自C 标准库 教程和手册 目前使用模板的唯一可移植方法是通过使用内联函数在头文件中实现它们 为什么是这样 澄清 头文件不是only便携式解决方案 但它们是最方便的便携式解决方案 警告 它是not有必要将实现放入头文件中 请参阅本答案末尾
  • 无法在 LazyColumn 中使用屏幕底部的 TextField

    我有这个代码 setContent val items mutableListOf
  • 迁移到 AndroidX

    好吧 我开始从一个一年前的项目迁移到 AndroidX 此后一直没有动过 但我在资源和 gradle 构建方面遇到了问题 我完全迷失了新的命名空间 我更改了其中一些命名空间 我升级了 AndroidStudio 告诉我的所有内容 但仍然无法
  • sdkman安装的`sdk`命令在哪里

    我刚刚安装sdkman用于在我的机器 MacOS 上安装 grails 当我跑步时which sdk命令我没有得到任何输出 但是当我运行sdk help命令 shell 能够解析它并给出正确的输出 我检查了 PATH 环境变量中提到的所有目
  • React Native - 如何从 ScrollView 获取视图的 Y 偏移值?

    我正在尝试获取视图的滚动位置 但价值为页面的 Y 偏移量这与视图的位置无关 滚动视图层次结构
  • 在 Android 模拟器中切换到横向模式

    这可能是一个很容易回答的问题 但在搜索文档和谷歌几个小时后我自己找不到解决方案 我将 Android 应用程序的方向设置为landscape in the AndroidManifest xml file android screenOri
  • 第一次触发事件时,按键事件不会记录输入值

    第一次keypress事件触发时 即使输入有值 它也会记录一个空输入值 第二次它记录该值 但与输入值相比晚了一次击键 您可以在下一个示例中检查此行为 document addEventListener DOMContentLoaded gt
  • 在 64 位 Linux 机器上用 gcc 生成“长”4 个字节

    我正在致力于将应用程序移植到 Linux 平台上的 64 位 该应用程序目前支持 Linux Windows Mac 32 位和 Windows 64 位 我们经常遇到的问题之一是使用 long 代替 int 反之亦然 到目前为止这还不是问
  • WPF在WPF窗口中打开exe程序

    不确定这是否可行 但有没有办法在 WPF 窗口的容器中打开另一个程序 例如记事本 类似于使用 webbrowser 控件打开网页 基本上我想打开记事本或其他 exe 但使用 xaml c 代码将其限制在 WPF 窗口容器内 不确定是否可能
  • 使用 ActionBar 选项卡在 onCreateView 中获取 Google 地图片段

    我正在尝试在 ActionBar 中使用选项卡时检索 Google 地图片段 当我加载选项卡式页面时 地图加载正常 但我想获取地图对象 以便可以将其居中 添加标记等 有没有办法做到这一点 如果有的话 有人会好心告诉我怎么做吗 这是我的标签页
  • PHP - 如何将 base_convert() 转换为基数 62

    我需要一个base convert 函数的工作范围从基数 2 到基数 62 但我缺少需要使用的数学 我知道由于 PHP 的限制 我需要使用 bcmath 这很好 功能像这些将数字与以 10 为基数的数字转换为另一个以 62 为基数的数字 但
  • 防止移动浏览器中的显示关闭

    我正在创建一个基于移动设备的网页 并且正在使用网络套接字连接来处理聊天室 但我希望每次用户通过移动浏览器访问网页时都会打开显示 我尝试模拟按钮点击 function eventFire el etype if el fireEvent el
  • 异步方法在第一个“等待”之前可以有昂贵的代码吗?

    在第一个异步方法之前 在异步方法的开始处使用昂贵的代码是否不好 await叫做 这段代码是否应该用TaskEx Run反而 public async Task Foo Do some initial expensive stuff Firs
  • 如何评估 python 中的导数?

    我是Python的初学者 我最近了解了 Sympy 及其符号操作功能 特别是微分功能 我正在尝试以最简单的方式执行以下操作 定义 f x y x 2 xy 2 求 f 对 x 的微分 所以 f x y 2x xy 2 计算导数 例如 f 1
  • CEF 模拟鼠标按下和按键发送

    我想使用CEF来控制Flash应用程序 所以我需要在没有JavaScript的情况下模拟MouseDown和KeySend 我正在使用离屏渲染 这是我尝试过的 managedCefBrowserAdapter OnMouseButton 5
  • 将控制台输出重定向到 unix 中的文件

    我一直在尝试使用 find 命令在我的 ftp 服务器中搜索文件 find iname MyLog log 我得到了大量的输出 我正在尝试使用以下命令将此输出重定向到文件中 find iname MyLog log gt myfile st
  • 给定一个 DateTime 对象,如何获取字符串格式的 ISO 8601 日期?

    Given DateTime UtcNow 如何获得代表相同值的字符串ISO 8601 兼容格式 请注意 ISO 8601 定义了许多类似的格式 我正在寻找的具体格式是 yyyy MM ddTHH mm ssZ 读者须知 一些评论者指出了这
  • 使用 pandas 数据帧中的前向和后向填充来填充缺失值(ffill 和 bfill)

    熊猫数据框初学者 我的数据集如下 其中 A 列和 B 列缺少值 Test csv DateTime A B 01 01 2017 03 27 01 01 2017 03 28 01 01 2017 03 29 0 18127718 0 17