将季度数据框转换为每月数据框并填充 Pandas 中的缺失值

2024-03-30

对于这样的季度数据框:

        date      gdp  rate
0   2003/3/1   523.82   0.1
1   2003/6/1  1172.83   0.2
2   2003/9/1  1882.48   0.4
3  2003/12/1  3585.72   0.1
4   2004/3/1   706.77   0.2

我想填补缺失的月份并回补gdp and rate每个月,并获取如下数据框:

       date      gdp  rate
0   2003-03   523.82   0.1
1   2003-04  1172.83   0.2
2   2003-05  1172.83   0.2
3   2003-06  1172.83   0.2
4   2003-07  1882.48   0.4
5   2003-08  1882.48   0.4
6   2003-09  1882.48   0.4
7   2003-10  3585.72   0.1
8   2003-11  3585.72   0.1
9   2003-12  3585.72   0.1
10  2004-01   706.77   0.2
11  2004-02   706.77   0.2
12  2004-03   706.77   0.2

我怎样才能在熊猫中做到这一点?谢谢。


另一个解决方案是创建DatetimeIndex,然后使用DataFrame.asfreq http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.asfreq.html with method='bfill' and MS月初和最后一次转换为期间DataFrame.to_period http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_period.html:

df['date'] = pd.to_datetime(df['date'])
df = df.sort_values(by=['date'], ascending=[True])
df.set_index('date', inplace=True)

df = df.asfreq('MS', method='bfill').to_period('M').reset_index()
print (df)
       date      gdp  rate
0   2003-03   523.82   0.1
1   2003-04  1172.83   0.2
2   2003-05  1172.83   0.2
3   2003-06  1172.83   0.2
4   2003-07  1882.48   0.4
5   2003-08  1882.48   0.4
6   2003-09  1882.48   0.4
7   2003-10  3585.72   0.1
8   2003-11  3585.72   0.1
9   2003-12  3585.72   0.1
10  2004-01   706.77   0.2
11  2004-02   706.77   0.2
12  2004-03   706.77   0.2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将季度数据框转换为每月数据框并填充 Pandas 中的缺失值 的相关文章

随机推荐

  • 获取查询的运行时执行计划

    我有一个执行一些 sql 查询的应用程序 如何从 sqlplus 或其他 Oracle 客户端获取当前正在执行的查询的执行计划 如果有必要 我可以修改应用程序中使用的 oracle 会话 我不想使用explain plan并手动执行该查询
  • sql 中的希伯来语和其他语言

    我有 SQL Server 托管 客户端是移动应用程序 我的逻辑是用户创建数据并将其存储在服务器上 有些数据是文本 然而 用户可以输入英语 希伯来语或他的客户端支持的任何其他语言 我需要为表指定哪种排序规则才能支持所有语言 问候 约阿夫 您
  • Windows 调试工具未安装

    我正在尝试通过 Windows SDK 安装 Windows 调试工具 两次尝试后我不知道该怎么做 我开始安装 没有收到任何错误 但调试工具 windbg 和 kd 却找不到 日志几乎毫无用处 9 16 59 PM Monday July
  • AttributeError:“CharField”对象没有属性“model”

    models py file from django db import models class Stocks models Model symbol models CharField max length 20 unique True
  • 如何从语言代码中获取语言的全名? (例如:从“en”到“English”)

    我正在寻找与此问题 答案等效的 dart 从语言代码中获取该语言的语言名称 https stackoverflow com questions 36061116 get language name in that language from
  • 如何监控 Amazon S3 服务中对象的带宽?

    如何以编程方式监控AWS S3服务中对象的带宽 我想这样做是为了防止使用我们服务的客户过度使用带宽并导致我们的成本超出我们的承受能力 我们希望限制每个对象 1TB 的带宽 详细的使用情况报告仅针对每个存储桶 而不是每个对象 你能做的是启用日
  • Web2py:下载文件/显示图像

    我最近开始使用 Web2py 框架 我发现它非常好 然而 我现在遇到了一个 基本 问题 Context 我正在构建的网站是一个科学代码界面 人们填写表格并提交 然后 数据 写入共享文件夹内的文件中 由代码处理 在后台作为守护进程运行 代码与
  • IE10 Flexbox 宽度包含填充,导致溢出。 box-sizing: border-box 没有修复

    本例中的 LHS flex 子项具有 1em 填充 这将导致 RHS 溢出父项 div style display ms flexbox width 200px border 5px solid black div style paddin
  • 为什么要将新的 ArrayList 分配给 List 变量?

    我是java新手 当我浏览网上许多示例的代码时 我看到人们声明变量ArrayList简单地说List几乎在所有情况下 List
  • 贝叶斯网络与 R

    我正在尝试建立贝叶斯网络模型 但是我无法安装合适的软件包 尝试过gRain bnlearn and Rgraphviz用于绘图 我在 R 2 15 和 3 2 中尝试过 以下是错误消息 library gRain Loading requi
  • Jquery .click 不触发

    尝试在这里学习 JQuery 一开始非常简单 当我单击该按钮时 页面会重新加载 但什么也没有发生 这是我的 JS 这是我的html div class panel right div
  • Oracle 位和函数

    我对 oracle bitand 功能感到困惑 我知道它用于控制是否设置两位 但是 被设定的意义何在 何时以及为何使用它 如果你能给出一个基于真实例子的例子 我会很高兴 感谢您的回答 在二进制中 set 的意思是 值为 1 未设置 意味着
  • KnpSnappyBundle 和 Symfony 3.4:图像和/或 css 导致超时

    我已经在现有的 Symfony 3 4 项目上安装了 KnpSnappyBundle 我已经用 HTML 树枝测试了 PDF 生成器 仅包含文本 没有图像 没有 css 没有 js 它工作正常 然后我使用绝对 URL 添加 到树枝 图像和
  • MySQL Select...用于更新索引存在并发问题

    这是我上一个问题的后续问题 您可以跳过它 因为我在这篇文章中解释了该问题 MySQL InnoDB SELECT LIMIT 1 FOR UPDATE 与 UPDATE LIMIT 1 https stackoverflow com que
  • 在多个数据库上实现事务

    我正在对多个数据库执行数据更改 并且我想实现一个涵盖所有更改的事务 这就是我目前所拥有的 try db 1 begintransaction db 1 ExecuteNonQuery db 2 begintransaction db 2 E
  • perl 从文件中删除行

    我的文件看起来像 ATOM 2517 O VAL 160 8 337 12 679 2 487 ATOM 2518 OXT VAL 160 7 646 12 461 0 386 TER ATOM 2519 N VAL 161 14 431
  • InversifyJS @multiInject 不起作用,抛出错误“发现 serviceIdentifier 不明确匹配”

    我在我的打字稿项目中使用 inversifyJs 进行 DI 使用装饰器 multiInject 时 我收到错误 发现 serviceIdentifier 不明确匹配 我正在遵循这个例子 https github com inversify
  • 如何关闭 Sublime Text 2 中某些文件的删除空格功能?

    我有一个选择trim trailing white space on save打开 对于某些文件 我应该防止删除尾随空格 因为它们很重要 如何删除某些文件的此行为 例如 dat 您是否已尝试为该特定扩展创建配置文件并放置trim trail
  • 如何链接到页面并使用 Rails 激活特定选项卡

    如果信息页面具有基于不同主题的多个选项卡 并且存在从不同页面通向信息页面的链接 那么如何根据所使用的链接链接到具有活动选项卡的信息页面 我想要一个像这样的链接 p View the terms conditions on our info
  • 将季度数据框转换为每月数据框并填充 Pandas 中的缺失值

    对于这样的季度数据框 date gdp rate 0 2003 3 1 523 82 0 1 1 2003 6 1 1172 83 0 2 2 2003 9 1 1882 48 0 4 3 2003 12 1 3585 72 0 1 4 2