【问题标题】:Frequency of a data frame数据帧的频率
【发布时间】:2014-05-25 01:43:06
【问题描述】:

我有一个用日期索引的数据框(Python 日期时间对象)。我怎样才能找到频率作为数据框中数据的月数?

我尝试了属性data_frame.index.freq,但它返回一个无值。我还尝试了使用data_frame.asfreq('M',how={'start','end'}asfreq 函数,但它没有返回预期的结果。请告知我如何才能获得预期的结果。

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    您可能希望在索引中使用 pandas Timestamp 而不是 datetime 来使用“freq”。请参阅下面的示例

    import pandas as pd
    dates = pd.date_range('2012-1-1','2012-2-1')
    df = pd.DataFrame(index=dates)
    print (df.index.freq)
    

    产量,

    <Day>
    

    您可以像这样轻松转换数据框,

    df.index = [pd.Timestamp(d) for d in df.index]
    

    【讨论】:

      【解决方案2】:

      您想将日期时间索引转换为 DatetimeIndex,最简单的方法是使用to_datetime

      df.index = pd.to_datetime(df.index)
      

      现在您可以进行时间序列/帧操作,例如 resample 或 TimeGrouper。

      如果您的数据具有一致的频率,那么这将是 df.index.freq,如果不是(例如,如果缺少某些日子),那么 df.index.freq 将是无。

      【讨论】:

      • 感谢您的提示很有用。我认为有一些缺失的数据。
      猜你喜欢
      • 2021-06-27
      • 2016-03-28
      • 2021-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-14
      • 1970-01-01
      相关资源
      最近更新 更多