Python:使用datetime重置Pandas.Series的索引

时间:2018-01-11 14:16:03

标签: python indexing statsmodels

我正在尝试使用statsmodels库中的“seasonal_decompose”方法:

decomposition = seasonal_decompose(ts_load_log)

尝试执行该行时会发生以下错误:

'RangeIndex'对象没有属性'inferred_freq'

那是因为我的ts_load_log如下所示:

ts_load_log

现在我正在尝试转换我的索引!因此,我创建了以下数据框,其中包含ts_load_log中值的日期:

df_datetimes  = pd.to_datetime(df_load_per_hour['Market Day']) + pd.to_timedelta(df_load_per_hour['HourEnding'] - 1, unit='h')

看起来像:

df_datetimes

有没有办法在数据框df_datetimes的帮助下重置ts_load_log系列的索引,以便分解有效?或者是否有更简单的方法而不是创建新的数据框?或者我完全错了?

我已经尝试过:

test = ts_load_log.to_frame()
test2 = df_datetimes.to_frame()
test = test.reindex(test2[0])

但我认为这是不必要的。另外它不起作用!

1 个答案:

答案 0 :(得分:1)

如果使用pandas的datetimeIndex方法,它应该可以工作:

Object.assign(
  previousState,
  {quantity: state.quantity + 1},
  {quantity: state.quantity + 1},
  ...
)

之后只需将数据框对象转换为Series对象,如:

test = ts_load_log.to_frame()
test2 = df_datetimes.to_frame()
test.index = pd.DatetimeIndex(test2[0])