Python DatetimeIndex:x27的目的是什么;频率';属性
我忽略了DatatimeIndex对象中“freq”属性的要点。它可以在构造时传递,也可以在任何时候设置为属性,但是当这个属性改变时,我看不到DatatimeIndex对象的行为有什么不同 请看这个例子。我们向具有freq='B'但返回的索引包含非营业日的DatetimeIndex添加1天:Python DatetimeIndex:x27的目的是什么;频率';属性,python,pandas,Python,Pandas,我忽略了DatatimeIndex对象中“freq”属性的要点。它可以在构造时传递,也可以在任何时候设置为属性,但是当这个属性改变时,我看不到DatatimeIndex对象的行为有什么不同 请看这个例子。我们向具有freq='B'但返回的索引包含非营业日的DatetimeIndex添加1天: import pandas as pd from pandas.tseries.offsets import * rng = pd.date_range('2012-01-05', '2012-01-10
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')
- 为什么在对DatetimeIndex执行计算(+/-Timedelta)时不考虑freq
- 为什么freq不能反映DatetimeIndex中包含的实际数据?(即使包含非营业日,也会显示“B”)
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')
发行日期:
freq属性是纯描述性的,因此它不是
不应该影响计算。文件可能更清晰
我的印象是使用了
freq
;它不是验证器。因此,它从最初的date\u range()
调用中得到提示,对可能需要的优化进行有根据的猜测。@luca why你说,不使用它,它传递给shift,如我上面所示
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')