woodwork.table_accessor.WoodworkTableAccessor.infer_temporal_frequencies#

WoodworkTableAccessor.infer_temporal_frequencies(temporal_columns=None, debug=False)[源]#
推断 DataFrame 中每个时间列的观察频率(每日、每两周、每年等)。

时间列是逻辑类型为 Datetime 或 Timedelta 的列。

参数:
  • temporal_columns (list[str], optional) – 应推断频率的列。必须是存在于 DataFrame 中且本质上是时间类型的列。默认为 None。如果未指定,将推断所有时间列的频率。

  • debug (boolean) – 一个标志,用于确定在未找到统一频率时是否为每个时间列返回更多信息。

返回:

一个字典,其中每个键是 DataFrame 中的时间列,值是其观察频率,表示为 pandas 偏移别名字符串(例如 D、M、Y),

如果在数据中不存在统一频率则为 None。

返回类型:

(dict)

注意

此方法中使用的 pandas 工具 pd.infer_freq 具有以下行为:
  • 如果一列中即使只有一行不遵循其余行的频率,

    则不会推断出频率。例如,原本是每日数据但跳过一天的示例: ['2011-01-03', '2011-01-04', '2011-01-05', '2011-01-07']

  • 如果数据中存在任何 NaNs,则不会推断出频率。

  • Pandas 将使用它可用的最大偏移别名,因此每周数据会推断为 W 而不是 7D

    可用偏移别名的列表,其中包括表示工作日的 B 或表示纳秒的 N 等别名,可在 https://pandas.ac.cn/pandas-docs/stable/user_guide/timeseries.html#offset-aliases 找到

  • 偏移别名可以组合,创建类似 2d1H 的表示,也可以表示为 ‘49H’。

    Pandas 的频率推断在需要组合别名的情况下会返回较低的通用别名,49H

  • 偏移字符串可以包含比偏移别名更多的信息。例如,日期范围

    pd.date_range(start="2020-01-01", freq="w", periods=10) 将被推断为频率 W-SUN。该字符串是带有锚定后缀的偏移别名,表示数据不仅是每周观察一次,而且所有日期都在周日。更多锚定偏移可在以下链接查看: https://pandas.ac.cn/pandas-docs/stable/user_guide/timeseries.html#anchored-offsets

  • 某些可以为 pd.date_range 定义的频率随后无法由 pandas 的 pd.infer_freq 重新推断。

    一个示例是在使用工作日偏移别名 Bpd.date_range(start="2020-01-01", freq="4b", periods=10) 时看到,它在构建日期范围时是一个有效的 freq 参数,但随后无法推断。

用于推断噪声数据频率的算法可以配置(参见 https://woodwork.alteryx.org.cn/en/stable/guides/setting_config_options.html#Available-Config-Settings