如何使用 pd.to_datetime() 设置频率?

2024-04-05

在拟合统计模型时,我收到有关日期频率的警告。

首先,我导入一个数据集:

import statsmodels as sm
df = sm.datasets.get_rdataset(package='datasets', dataname='airquality').data

df['Year'] = 1973
df['Date'] = pd.to_datetime(df[['Year', 'Month', 'Day']])

df.drop(columns=['Year', 'Month', 'Day'], inplace=True)
df.set_index('Date', inplace=True, drop=True)

接下来我尝试拟合 SES 模型:

fit = sm.tsa.api.SimpleExpSmoothing(df['Wind']).fit()

返回此警告:

/anaconda3/lib/python3.6/site-packages/statsmodels/tsa/base/tsa_model.py:171:ValueWarning:未提供频率信息,因此将使用推断频率 D。 % freq,值警告)

我的数据集是每天的,所以推断“D”是可以的,但我想知道如何手动设置频率。

请注意,DatetimeIndex 没有频率(最后一行)...

DatetimeIndex(['1973-05-01', '1973-05-02', '1973-05-03', '1973-05-04',
               '1973-05-05', '1973-05-06', '1973-05-07', '1973-05-08',
               '1973-05-09', '1973-05-10',
               ...
               '1973-09-21', '1973-09-22', '1973-09-23', '1973-09-24',
               '1973-09-25', '1973-09-26', '1973-09-27', '1973-09-28',
               '1973-09-29', '1973-09-30'],
              dtype='datetime64[ns]', name='Date', length=153, freq=None)

As per 这个答案 https://stackoverflow.com/a/23005505/1033422我检查了缺失的日期,但似乎没有:

pd.date_range(start = '1973-05-01', end = '1973-09-30').difference(df.index)

DatetimeIndex([], dtype='datetime64[ns]', freq='D')

我应该如何设置索引的频率?


I think pd.to_datetime没有设置默认频率,需要DataFrame.asfreq http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.asfreq.html:

df = df.set_index('Date').asfreq('d')
print (df.index)

DatetimeIndex(['1973-05-01', '1973-05-02', '1973-05-03', '1973-05-04',
               '1973-05-05', '1973-05-06', '1973-05-07', '1973-05-08',
               '1973-05-09', '1973-05-10',
               ...
               '1973-09-21', '1973-09-22', '1973-09-23', '1973-09-24',
               '1973-09-25', '1973-09-26', '1973-09-27', '1973-09-28',
               '1973-09-29', '1973-09-30'],
              dtype='datetime64[ns]', name='Date', length=153, freq='D')

但是如果索引中的重复值出现错误:

df = pd.concat([df, df])
df = df.set_index('Date')

print (df.asfreq('d').index)

ValueError:无法从重复轴重新索引

解决方案是使用resample使用一些聚合函数:

print (df.resample('2D').mean().index)

DatetimeIndex(['1973-05-01', '1973-05-03', '1973-05-05', '1973-05-07',
               '1973-05-09', '1973-05-11', '1973-05-13', '1973-05-15',
               '1973-05-17', '1973-05-19', '1973-05-21', '1973-05-23',
               '1973-05-25', '1973-05-27', '1973-05-29', '1973-05-31',
               '1973-06-02', '1973-06-04', '1973-06-06', '1973-06-08',
               '1973-06-10', '1973-06-12', '1973-06-14', '1973-06-16',
               '1973-06-18', '1973-06-20', '1973-06-22', '1973-06-24',
               '1973-06-26', '1973-06-28', '1973-06-30', '1973-07-02',
               '1973-07-04', '1973-07-06', '1973-07-08', '1973-07-10',
               '1973-07-12', '1973-07-14', '1973-07-16', '1973-07-18',
               '1973-07-20', '1973-07-22', '1973-07-24', '1973-07-26',
               '1973-07-28', '1973-07-30', '1973-08-01', '1973-08-03',
               '1973-08-05', '1973-08-07', '1973-08-09', '1973-08-11',
               '1973-08-13', '1973-08-15', '1973-08-17', '1973-08-19',
               '1973-08-21', '1973-08-23', '1973-08-25', '1973-08-27',
               '1973-08-29', '1973-08-31', '1973-09-02', '1973-09-04',
               '1973-09-06', '1973-09-08', '1973-09-10', '1973-09-12',
               '1973-09-14', '1973-09-16', '1973-09-18', '1973-09-20',
               '1973-09-22', '1973-09-24', '1973-09-26', '1973-09-28',
               '1973-09-30'],
              dtype='datetime64[ns]', name='Date', freq='2D')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 pd.to_datetime() 设置频率? 的相关文章

随机推荐

  • Rails 3 中全局变量的放置位置

    我曾经将全局变量放入我的 Rails 2 3 8 应用程序的environment rb中 例如 MAX ALLOWD ITEMS 6 它似乎在 Rails 3 中不起作用 我尝试将其放入 application rb 中 但这没有帮助 你
  • Angular 2/4:如何在动态创建的组件上添加表单控件?

    我正在尝试使用 ComponentFactoryResolver 创建反应式表单 我想要以该形式添加的所有组件都是特定的 并实现 ControlValueAccessor 接口 所以 我的问题很简单 如何在使用 ComponentFacto
  • 检查关联数组是否包含值

    Array 0 gt Array questionID gt 47 surveyID gt 51 userID gt 31 question Title gt Choose Any One question Type gt Dropdown
  • 使用 Python 进行视频流传输

    Python 中是否有任何库 或 应用程序可支持视频流 它必须读取文件并需要通过网络进行流式传输 查看波动 http flumotion net 它是一个用Python实现的流媒体服务器
  • Xdebug 未加载

    Windows 7 64 位 PHP 5 3 10 php xdebug 2 1 4 5 3 vc9 x86 64 我通过粘贴 phpinfo 的输出获得了正确的下载here http xdebug org wizard php 这就是我的
  • RabbitMQ 启动失败

    RabbitMQ Windows 服务将无法启动 C Program Files x86 RabbitMQ Server rabbitmq server 3 0 4 sbin gt rabbitmq service bat start C
  • OpenAI API 错误 500:“服务器在处理您的请求时出错”、503:“服务不可用”或 504:“网关超时”

    我创建了一个 Python 脚本 该脚本循环遍历文本字符串列表 每个字符串的长度约为 2000 个字符 并总结每个字符串 请参阅下面的响应代码 此提示位于 for 循环内 response openai Completion create
  • 如何右键单击列表框中的项目并在 WPF 上打开菜单

    我有一个包含文件的列表框 我希望能够右键单击并打开 删除 之类的菜单 以便从列表框中删除文件 目前我在右键单击列表框中的项目后具有此功能 private void listBoxFiles PreviewMouseRightButtonDo
  • 先进先出 (FIFO) 库存成本核算

    这是一篇有趣的文章 我发现它对我的项目很有用 基于集合的 Speed Phreakery 先进先出库存 SQL 问题 http www simple talk com sql performance set based speed phre
  • React Router + Axios 拦截器。如何进行重定向?

    我有一个 axios 拦截器 当用户被强制注销 由于令牌过期 时 我想返回我的主页 我不确定如何将反应路由器传递给它 我正在使用 mobx 但不确定这是否能帮助我解决这个问题 export const axiosInstance axios
  • plupload跨域上传200 http错误

    我想使用 plupload 库将文件上传到远程服务器 使用 html5 运行时的 Chrome 32 0 和 IE 10 一切正常 但当我尝试使用 Firefox 27 html5 运行时 或 IE 8 html4 运行时 时 出现错误Er
  • Mozilla 扩展的内容安全策略

    我在 Mozilla 和 Chrome 中都有一个扩展 在我的扩展中我调用了一个远程 JS 文件 为了避免 Chrome 中的 CSP 我将规则添加到 manifest json 中 并且我的文件通过 HTTPS 传输 因此一切都很完美 但
  • 流星中的页面转换?

    我有一个流星移动应用程序结构上在职的 我确实需要将视图与一些页面转换缝合在一起 我看了看铁过渡剂 https github com tmeasday iron transitioner项目但看起来开发已经停止了 最后一次提交是在 6 个月前
  • 连接 MYSQL 表并按两个字段排序?

    我在 MYSQL 中对表进行排序时遇到问题 我的桌子设置如下 订单详细信息 Order ID 运输费 printed 产品详情 ID Order ID SKU 位置 我想选择打印 FALSE 的所有订单 但还要按运费排序 然后按 SKU l
  • 在 Android 中,即使屏幕进入睡眠模式后仍会继续振动

    在我的应用程序中 我通过以下代码启动 VIBRATOR SERVICE long pattern 50 100 1000 Vibrator vibe Vibrator context getSystemService Context VIB
  • KVC setNilValueForKey:建议调用方法而不使用属性访问器

    The KVC文档 http developer apple com library mac documentation Cocoa Conceptual KeyValueCoding Articles AccessorConvention
  • 使用 requirejs 和 r.js 优化器时无法加载 jQuery 插件

    我的 requirejs 优化器遇到了一些麻烦 运行优化器后 我在构建 编译文件中收到一些错误消息 在没有优化步骤的情况下运行我的网络应用程序时 我没有任何错误 这是我的 client js 文件 包含配置 coffeescript req
  • 选择行并更新相同行以进行锁定?

    我需要编写一个过程 允许我选择 x 行 同时更新这些行 以便调用应用程序知道这些记录已锁定并正在使用 我的表中有一个名为 锁定 的列 下次调用该过程时 它将仅提取下 x 条未选中 锁定 列的记录 我已经阅读了一些有关 SQL Server
  • 如何拥有两个独立的任务调度程序?

    我正在编写一个游戏 并且使用 OpenGL 我要求将一些工作卸载到 OpenGL 上下文处于活动状态的渲染线程 但其他所有工作都由普通线程池处理 有没有一种方法可以强制任务在特殊的线程池中执行 以及从线程池创建的任何新任务async也被调度
  • 如何使用 pd.to_datetime() 设置频率?

    在拟合统计模型时 我收到有关日期频率的警告 首先 我导入一个数据集 import statsmodels as sm df sm datasets get rdataset package datasets dataname airqual