【发布时间】:2017-03-31 23:20:24
【问题描述】:
我想以每日为基础标准化时间序列。 现在我的代码如下:
for date in set(df.index.date):
print('Date: ' + str(date))
df[df.index.date == date] = df[df.index.date == date].div(df[df.index.date == date].abs().max())
print('Normalization Done')
我工作正常,但速度很慢。你知道一些更好的方法吗? 也许一些地图功能或列表理解?直到现在才弄清楚该怎么做。
【问题讨论】:
-
我认为它也可以与 itertools 一起使用,但我对这个包并不熟练。
-
df.index = df.index.div(df.index.abs().max())不起作用吗?你是为日期时间或只是日期时间组件?看起来您想先将日期时间删除或标准化为 00:00:00 次的日期,然后再规范化索引? -
我不想规范化/更改索引。我想每天标准化时间序列的值。为此,请使用 index.date 信息。
-
那么某种形式的 groupby 除以该日期最大值或整个 df 的最大值?
标签: pandas time-series normalization series