如何在 pandas 中填充直到一天结束?

2024-01-29

我有一个pandas.TimeSeries与日内指数。如何分别填充(前向填充)每天的 NaN 值?

以这个系列为例:

2013-03-27 22:07:00-04:00     1.0
2013-03-27 22:08:00-04:00     nan
2013-03-27 22:09:00-04:00     nan
2013-03-28 02:08:00-04:00     nan
2013-03-28 02:09:00-04:00     1.0

会成为:

2013-03-27 22:07:00-04:00     1.0
2013-03-27 22:08:00-04:00     1.0
2013-03-27 22:09:00-04:00     1.0
2013-03-28 02:08:00-04:00     nan
2013-03-28 02:09:00-04:00     1.0

我尝试使用失败groupby(pd.TimeGrouper('D')).apply(pd.Series.ffill).


创建一组填充值,频率为每天几分钟

In [120]: idx = [ pd.date_range('20130101',periods=10,freq='T')+timedelta(i) for i in range(5) ]

In [121]: idx = idx[0] + idx[1] + idx[2] + idx[3] + idx[4]

In [122]: s = Series(randn(len(idx)),index=idx)

In [123]: s
Out[123]: 
2013-01-01 00:00:00    1.285575
2013-01-01 00:01:00    1.056882
2013-01-01 00:02:00   -0.690855
2013-01-01 00:03:00    1.235476
2013-01-01 00:04:00   -0.729948
2013-01-01 00:05:00    0.114036
2013-01-01 00:06:00    0.994977
2013-01-01 00:07:00   -0.455242
2013-01-01 00:08:00    0.645815
2013-01-01 00:09:00   -0.738772
2013-01-02 00:00:00    0.464686
2013-01-02 00:01:00   -0.872786
2013-01-02 00:02:00    0.112433
2013-01-02 00:03:00   -0.398235
2013-01-02 00:04:00   -0.442196
2013-01-02 00:05:00    0.634600
2013-01-02 00:06:00    1.165122
2013-01-02 00:07:00   -0.182570
2013-01-02 00:08:00   -0.107421
2013-01-02 00:09:00    0.033805
2013-01-03 00:00:00    1.768149
2013-01-03 00:01:00    0.218851
2013-01-03 00:02:00   -0.987624
2013-01-03 00:03:00   -1.258789
2013-01-03 00:04:00    0.984116
2013-01-03 00:05:00    1.859562
2013-01-03 00:06:00    1.620295
2013-01-03 00:07:00   -0.770468
2013-01-03 00:08:00   -1.263478
2013-01-03 00:09:00    0.036137
2013-01-04 00:00:00   -0.352919
2013-01-04 00:01:00    2.322247
2013-01-04 00:02:00   -1.218937
2013-01-04 00:03:00    0.619235
2013-01-04 00:04:00    0.019281
2013-01-04 00:05:00    1.689068
2013-01-04 00:06:00   -2.387880
2013-01-04 00:07:00    0.292372
2013-01-04 00:08:00    1.623110
2013-01-04 00:09:00   -1.944163
2013-01-05 00:00:00    0.403270
2013-01-05 00:01:00    1.750783
2013-01-05 00:02:00    0.485829
2013-01-05 00:03:00    0.957498
2013-01-05 00:04:00    0.018820
2013-01-05 00:05:00   -0.024910
2013-01-05 00:06:00    0.668174
2013-01-05 00:07:00   -1.104239
2013-01-05 00:08:00   -0.678914
2013-01-05 00:09:00    0.775712
dtype: float64

额外添加 1 天(带有 nan 值)

In [124]: s = s.append(Series(np.nan,index=[Timestamp(s.index[-1].date())+timedelta(1)]))

In [125]: s
Out[125]: 
2013-01-01 00:00:00    1.285575
2013-01-01 00:01:00    1.056882
2013-01-01 00:02:00   -0.690855
2013-01-01 00:03:00    1.235476
2013-01-01 00:04:00   -0.729948
2013-01-01 00:05:00    0.114036
2013-01-01 00:06:00    0.994977
2013-01-01 00:07:00   -0.455242
2013-01-01 00:08:00    0.645815
2013-01-01 00:09:00   -0.738772
2013-01-02 00:00:00    0.464686
2013-01-02 00:01:00   -0.872786
2013-01-02 00:02:00    0.112433
2013-01-02 00:03:00   -0.398235
2013-01-02 00:04:00   -0.442196
2013-01-02 00:05:00    0.634600
2013-01-02 00:06:00    1.165122
2013-01-02 00:07:00   -0.182570
2013-01-02 00:08:00   -0.107421
2013-01-02 00:09:00    0.033805
2013-01-03 00:00:00    1.768149
2013-01-03 00:01:00    0.218851
2013-01-03 00:02:00   -0.987624
2013-01-03 00:03:00   -1.258789
2013-01-03 00:04:00    0.984116
2013-01-03 00:05:00    1.859562
2013-01-03 00:06:00    1.620295
2013-01-03 00:07:00   -0.770468
2013-01-03 00:08:00   -1.263478
2013-01-03 00:09:00    0.036137
2013-01-04 00:00:00   -0.352919
2013-01-04 00:01:00    2.322247
2013-01-04 00:02:00   -1.218937
2013-01-04 00:03:00    0.619235
2013-01-04 00:04:00    0.019281
2013-01-04 00:05:00    1.689068
2013-01-04 00:06:00   -2.387880
2013-01-04 00:07:00    0.292372
2013-01-04 00:08:00    1.623110
2013-01-04 00:09:00   -1.944163
2013-01-05 00:00:00    0.403270
2013-01-05 00:01:00    1.750783
2013-01-05 00:02:00    0.485829
2013-01-05 00:03:00    0.957498
2013-01-05 00:04:00    0.018820
2013-01-05 00:05:00   -0.024910
2013-01-05 00:06:00    0.668174
2013-01-05 00:07:00   -1.104239
2013-01-05 00:08:00   -0.678914
2013-01-05 00:09:00    0.775712
2013-01-06 00:00:00         NaN
Length: 51, dtype: float64

以相同的频率重新采样(我们添加的额外一天使这个垫 到我们想要的最后一天结束)

In [126]: s.resample('T',fill_method='pad')
2013-01-01 00:00:00    1.285575
2013-01-01 00:01:00    1.056882
2013-01-01 00:02:00   -0.690855
2013-01-01 00:03:00    1.235476
2013-01-01 00:04:00   -0.729948
2013-01-01 00:05:00    0.114036
2013-01-01 00:06:00    0.994977
2013-01-01 00:07:00   -0.455242
2013-01-01 00:08:00    0.645815
2013-01-01 00:09:00   -0.738772
2013-01-01 00:10:00   -0.738772
2013-01-01 00:11:00   -0.738772
2013-01-01 00:12:00   -0.738772
2013-01-01 00:13:00   -0.738772
2013-01-01 00:14:00   -0.738772
...
2013-01-05 23:46:00    0.775712
2013-01-05 23:47:00    0.775712
2013-01-05 23:48:00    0.775712
2013-01-05 23:49:00    0.775712
2013-01-05 23:50:00    0.775712
2013-01-05 23:51:00    0.775712
2013-01-05 23:52:00    0.775712
2013-01-05 23:53:00    0.775712
2013-01-05 23:54:00    0.775712
2013-01-05 23:55:00    0.775712
2013-01-05 23:56:00    0.775712
2013-01-05 23:57:00    0.775712
2013-01-05 23:58:00    0.775712
2013-01-05 23:59:00    0.775712
2013-01-06 00:00:00    0.775712
Freq: T, Length: 7201, dtype: float64
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 pandas 中填充直到一天结束? 的相关文章

  • Python:多处理和请求

    以下是我正在运行的使用多处理并行触发 HTTP 请求的代码片段 在控制台上运行后 它挂在 requests get url 处 既不继续前进也不抛出错误 def echo 100 q print before r requests get
  • 使用 python 通过搜索端点从 Spotify API 获取曲目

    因此 我尝试使用 API 的搜索端点进行搜索 从而从 Spotify API 获取曲目 请参阅文档 https developer spotify com documentation web api reference search sea
  • Keras,如何获取每一层的输出?

    我已经用 CNN 训练了一个二元分类模型 这是我的代码 model Sequential model add Convolution2D nb filters kernel size 0 kernel size 1 border mode
  • Python - 为什么这段代码被视为生成器?

    我有一个名为 mb 的列表 其格式为 Company Name Rep Mth 1 Calls Mth 1 Inv Totals Mth 1 Inv Vol Mth 2 等等 在下面的代码中 我只是添加了一个包含 38 个 0 的新列表 这
  • 使用 K 均值聚类 OpenCV 进行交通标志分割

    I used K Means Clustering to perform segmentation on this traffic sign as shown below 这些是我的代码 读取图像并模糊 img cv imread 000
  • 在 Python 中比较日期 - 如何处理时区修饰符

    我正在做Python日期比较 假设我有一个这样的约会 Fri Aug 17 12 34 00 2012 0000 我按以下方式解析它 dt datetime strptime Fri Aug 17 12 34 00 2012 0000 a
  • 用于打印 C/C++ 文件的所有函数定义的 Python 脚本

    我想要一个 python 脚本来打印 C C 文件中定义的所有函数的列表 e g abc c定义两个函数为 void func1 int func2 int i printf d i return 1 我只想搜索文件 abc c 并打印其中
  • keras 预测内存交换无限期增加

    我使用keras实现了一个分类程序 我有一大组图像 我想使用 for 循环来预测每个图像 然而 每次计算新图像时 交换内存都会增加 我尝试删除预测函数内部的所有变量 并且我确信该函数内部存在问题 但内存仍然增加 for img in ima
  • 如何在Python中正确声明ctype结构+联合?

    我正在制作一个二进制数据解析器 虽然我可以依靠 C 但我想看看是否可以使用 Python 来完成该任务 我对如何实现这一点有一些了解 我当前的实现如下所示 from ctypes import class sHeader Structure
  • Python将csv数据导出到文件中

    我有以下运行良好的代码 但我无法修剪数据并将其存储在数据文件中 import nltk tweets love this car this view amazing not looking forward the concert def g
  • 指定 Parquet 属性 pyspark

    如何在 PySpark 中指定 Parquet 块大小和页面大小 我到处搜索 但找不到任何有关函数调用或导入库的文档 根据火花用户档案 https mail archives apache org mod mbox spark user 2
  • 从文档字符串生成 sphinx 文档不起作用

    我有一个具有以下结构的项目 我想保留 my project build here is where sphinx should dump into requirements txt make bat Makefile more config
  • if/else 在 while 循环内正确缩进[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我开始学习 Python 编程大约几周了 我遇到了一些麻烦 下面的代码是一个小程序 用于检查列表中是否有偶数 如果找到第一个偶数
  • Python:使用列表创建二叉搜索树

    我的代码的目标是从 txt 文件中获取每个单独的单词并将其放入列表中 然后使用该列表创建二叉搜索树来计算每个单词的频率 并按字母顺序打印每个单词及其频率 中的每个单词只能包含字母 数字 或 我无法用我的初学者编程知识来做的部分是使用我拥有的
  • Pandas - 分割大的Excel文件

    我有一个大约有 500 000 行的 Excel 文件 我想将其拆分为多个 Excel 文件 每个文件有 50 000 行 我想用熊猫来做 这样它会是最快和最简单的 有什么想法如何制作吗 感谢您的帮助 假设您的 Excel 文件只有一个 第
  • 如何在 Python 中解析损坏的 XML?

    我无法影响的服务器发送的 XML 非常损坏 具体来说 Unicode WHITE STAR 将被编码为 UTF 8 E2 98 86 然后使用 Latin 1 转换为 HTML 实体表 我得到的是 acirc 98 86 9 个字节 位于声
  • 升级后 pip 损坏

    我做了 pip install U easyinstall 然后 pip install U pip 来升级我的 pip 但是 当我尝试使用 pip 时 我现在收到此错误 root d8fb98fc3a66 which pip usr lo
  • 如何指定一个变量作为类或类实例的成员变量?

    在最新的 Python 2 7 x 中 给定类定义内的任何成员变量 该成员变量是否始终处于类级别 因为它是由该类的所有实例共享的单个变量 在类的定义中 如何指定 类定义中的哪些成员变量属于该类 因此由该类的所有实例共享 以及 哪些属于该类的
  • 提供节点名或服务名,或未知

    我收到这个 Python 错误 File Library Frameworks Python framework Versions 2 7 lib python2 7 urllib2 py line 1184 in do open rais
  • 如何获取所有Python标准库模块的列表?

    我想要类似的东西sys builtin module names标准库除外 其他不起作用的事情 sys modules 只显示已经加载的模块 sys prefix 包含非标准库模块并且似乎无法在 virtualenv 内工作的路径 我想要这

随机推荐

  • 重定向 ip6tables 中的端口

    如何使用 ip6tables 将一个端口重定向到另一个本地端口 例如像这样的东西 ip6tables t nat A 预路由 j 重定向 p tcp dport 443 to ports 8443 嗯 这是一个老问题 但因为我需要做同样的事
  • Android 模拟 Espresso 测试的 Dagger2 注入依赖项

    我注入了严重的依赖项 dagger2 应用 我想经营一个浓缩咖啡测试无需测试浏览整个应用程序并登录到应用程序 我想开始我的 teleActivity 并模拟登录管理器 然而 在任何 test 函数中 当我们调用 onCreate 时 我们已
  • 如何在 Python 中使用 PCA/SVD 进行特征选择和识别?

    我正在跟进Python 中的主成分分析 https stackoverflow com questions 1730600 principal component analysis in python在Python下使用PCA 但我很难确定
  • 上传文件到android市场时出错

    当我在 Android 市场上传我的应用程序时 它显示以下错误 文件无效 错误 转储失败 因为找不到 AndroidManifest xml 当我解压 apk 文件时 AndroidManifest xml 文件就在那里 有什么问题 在an
  • C#.NET 中的 JPEG 2000 支持

    NET 似乎无法使用 GDI 库打开 JP2 Jpeg 2000 文件 我在谷歌上搜索过 但找不到任何库或示例代码来执行此操作 有人有什么想法吗 我真的不想花钱让图书馆来做这件事 除非我必须 似乎我们可以使用自由图像 http freeim
  • PHP:在 for () 循环中创建函数

    有谁知道我如何编写一个函数 该函数能够使用变量的内容作为其名称来创建其他函数 这是我在 php 中讨论的一个基本示例 function nodefunctioncreator for i 1 i lt 10 i newfunctionnam
  • 在 Ruby 中递归列出目录的单行代码?

    在 Ruby 中获取目录 不包括文件 数组的最快 最优化的单行方法是什么 包含文件怎么样 Dir glob for directories Dir glob for all files 代替Dir glob foo 你也可以写Dir foo
  • Python 支持短路吗?

    Python 支持布尔表达式中的短路吗 是的 两个and and or运算符短路 参见the docs http docs python org library stdtypes html highlight short 20circuit
  • 当我指定凭据时,为什么我的 Http 客户端会发出 2 个请求?

    我创建了 RESTful Web 服务 WCF 在其中检查每个请求的凭据 我的一个客户是 Android 应用程序 服务器端的一切似乎都很棒 我收到请求 如果它有正确的标头 我会处理它 等等 现在我创建了使用此服务的客户端应用程序 这就是我
  • java jprogressbar 在繁重操作期间挂起

    我正在编写一个 java 程序 在调用大量使用 CPU 的方法之前 我会显示一个带有 JProgressBar 的框架 虽然我在调用方法之前显示它 但直到方法结束才显示 JProgressBar 进度条 还 没有以任何方式与该方法交互 这就
  • 如何将汉字一一拆分?

    如果没有特殊字符 如空白 等 在名字和姓氏之间 那么下面如何拆分汉字呢 use strict use warnings use Data Dumper my fh DATA my fname 小三 my lname 张 while my n
  • 监控浏览器控制台中的所有 JavaScript 事件

    是否可以监听所有的javascript事件 我试图猜测 AJAX 请求修改 DOM 后是否会触发事件 With firebug http getfirebug com wiki index php Command Line API moni
  • Git 恢复未按预期工作

    我遇到了问题git revert命令 我使用 Ubuntu 12 04 Linux 和 Git 版本 1 7 9 5 我创建了一个全新的b test repo在我的本地电脑上 从远程跟踪它origin b test repo 我在本地创建了
  • 在 C# 中创建部分(或有界)FileStream

    我有一个 FileStream 它由放入一个文件中的多个文件组成 并且我有一个文件长度的列表 换句话说 我可以轻松计算所有文件的位置和长度 我想要创建的是一个 Open 方法 它接受文件索引并返回仅包含该文件的流 目前我已经使用内存流实现了
  • 如何从maven pom文件构建项目

    我有一个开源项目的 Maven pom 文件 这个pom文件包含所有信息 比如它所依赖的其他jar等 我安装了maven 创建一个 samprj 目录并将 pom 文件复制到该目录中 cd 进入该目录并运行 mvn 命令而不带任何参数 但我
  • 什么是 git 边界提交

    The git log command https git scm com docs git log has a boundary选项 这会导致程序 输出排除的边界提交 但什么是边界提交 我什么时候可以将它们包含在输出中 边界提交是限制修订
  • 为什么我们需要 onUpgrade(); SQLiteOpenHelper 类中的方法

    我正在关注这个教程 http www androidhive info 2011 11 android sqlite database tutorial http www androidhive info 2011 11 android s
  • Excel 宏第一次工作,然后下次就很慢

    因此 在未共享的工作表中运行我的宏时 它工作得很好 没有任何问题 只要我共享它 通常第一次就会运行良好 但第二次需要永远运行 如果我第一次运行宏后关闭工作簿并重新打开它将再次运行良好 我尝试清除剪贴板 还尝试了使用宏清除剪贴板的另一个版本
  • dax 中选取不同值的动态总和

    以下是样本数据 Week Practice Type capacity Gen 1 BI c 80 0 1 BI c 80 1 1 BI sc 160 1 1 BI pc 240 0 1 BI pc 240 3 1 BI mc 1160 1
  • 如何在 pandas 中填充直到一天结束?

    我有一个pandas TimeSeries与日内指数 如何分别填充 前向填充 每天的 NaN 值 以这个系列为例 2013 03 27 22 07 00 04 00 1 0 2013 03 27 22 08 00 04 00 nan 201