如何创建日期时间索引"foo"
以用于原始数据系列。(例如,每 15 秒“foo”和每 30 秒“foo2”。)如果可以将原始系列插入“基本”数据帧,我想使用“foo”重铸数据帧。
如果想要将 df "foo" 和 df "foo2" 结合起来的系列,那么内存命中会是多少?用原始数据系列填充 foo 索引会更好吗?
编辑:之后import pandas
,datetime.timedelta
停止工作
我很难理解你在问什么;使用示例数据准确说明您正在寻找的内容将有助于使事情更加清晰。
我认为你应该怎么做:
rng = DateRange(start, end, offset=datetools.Second(15)
创建日期范围。要将数据放入由此索引的 DataFrame 中,您应该添加列并将它们重新索引到上面的日期范围method='ffill'
:
df = DataFrame(index=rng)
df[colname] = series.reindex(df.index, method='ffill')
根据 datetime.timedelta,datetime.datetime 是 pandas 命名空间的一部分,所以如果你这样做了,from pandas import *
那么你之前所做的任何事情都会被pandas 命名空间内的引用import datetime
所掩盖。datetime.datetime
由于 Wes 的回答我认为pandas.DateRange
不再存在于pandas
. 我在使用熊猫版本 0.22.0。
我pandas.DatetimeIndex
改为使用,例如:
import datetime
import pandas as pd
start = datetime.datetime.now()
times = pd.DatetimeIndex(freq='2s', start=start, periods=10)
或者
start = datetime.datetime.now()
end = start + datetime.timedelta(hours=1)
times = pd.DatetimeIndex(freq='2s', start=start, end=end)
从 0.24 版开始
基于 start、periods 和 end 创建 DatetimeIndex 已被弃用,取而代之的是
date_range()
.
使用date_range()
类似于DatetimeIndex()
start = datetime.datetime.now()
end = start + datetime.timedelta(hours=1)
times = pd.date_range(freq='2s', start=start, end=end)
times
是一个包含 1801 个元素的 DatetimeIndex,间隔为 2 秒