簡體   English   中英

DatetimeIndex:“頻率”屬性的用途是什么?

[英]DatetimeIndex: what is the purpose of 'freq' attribute?

我錯過了熊貓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')
  • 為什么在DatetimeIndex上執行計算(+/- Timedelta)時不考慮頻率?
  • 為什么freq不能反映DatetimeIndex中包含的實際數據? (即使包含非工作日,它也會顯示“ B”)

您正在尋找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')

github的問題:

freq屬性僅是描述性的,因此它不會也不應影響計算。 潛在的文檔可能會更清晰。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM