我想念pandas DatatimeIndex对象中'freq'属性的要点。它可以在构造时传递或随时设置为属性,但是当此属性更改时,我看不到DatatimeIndex对象的行为有任何差异。
请看这个例子。我们将1天添加到具有freq ='B'的DatetimeIndex,但返回的索引包含非工作日:
import pandas as pd
from pandas.tseries.offsets import *
rng = pd.date_range('2012-01-05', '2012-01-10', freq=BDay())
index = pd.DatetimeIndex(rng)
print(index)
index2 = index + pd.Timedelta('1D')
print(index2)
这是输出:
DatetimeIndex(['2012-01-05', '2012-01-06', '2012-01-09', '2012-01-10'], dtype='datetime64[ns]', freq='B')
DatetimeIndex(['2012-01-06', '2012-01-07', '2012-01-10', '2012-01-11'], dtype='datetime64[ns]', freq='B')
答案 0 :(得分:2)
您正在寻找shift
index.shift(1)
Out[336]: DatetimeIndex(['2012-01-06', '2012-01-09', '2012-01-10', '2012-01-11'], dtype='datetime64[ns]', freq='B')
同样,BDay也会这样做
from pandas.tseries.offsets import BDay
index + BDay(1)
Out[340]: DatetimeIndex(['2012-01-06', '2012-01-09', '2012-01-10', '2012-01-11'], dtype='datetime64[ns]', freq='B')
答案 1 :(得分:0)
来自github问题:
freq属性是纯粹描述性的,所以它没有 并且不应影响计算。潜在的文档可能更清晰。