数据帧的频率

时间:2014-04-11 04:24:06

标签: python pandas

我有一个用日期索引的数据框(Python日期时间对象)。如何将频率作为数据框中数据的月数来找到?

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

2 个答案:

答案 0 :(得分:2)

您可能希望使用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]

答案 1 :(得分:2)

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

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

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

如果您的数据具有一致的频率,那么这将是df.index.freq,如果它没有(例如,如果缺少某些天),则df.index.freq将为无。< / em>的