簡體   English   中英

Pandas DataFrame 日期索引的偏移日期

[英]Offset date for a Pandas DataFrame date index

給定一個 Pandas dataframe 創建如下:

dates = pd.date_range('20130101',periods=6)
df = pd.DataFrame(np.random.randn(6),index=dates,columns=list('A'))

                  A
2013-01-01   0.847528
2013-01-02   0.204139
2013-01-03   0.888526
2013-01-04   0.769775
2013-01-05   0.175165
2013-01-06  -1.564826

我想在索引中添加 15 天。 這不起作用>

#from pandas.tseries.offsets import *
df.index+relativedelta(days=15)
#df.index + DateOffset(days=5)

TypeError: relativedelta(days=+15)

我似乎無法對索引做任何正確的事情……

您可以使用DateOffset

>>> df = pd.DataFrame(np.random.randn(6),index=dates,columns=list('A'))
>>> df.index = df.index + pd.DateOffset(days=15)
>>> df
                   A
2013-01-16  0.015282
2013-01-17  1.214255
2013-01-18  1.023534
2013-01-19  1.355001
2013-01-20  1.289749
2013-01-21  1.484291

稍短/更直接的是tshift

df = df.tshift(15, freq='D')

鏈接到頻率別名列表

如果需要將其轉換為DatetimeIndex並添加天數,請使用:

df.index = pd.to_datetime(df.index) + pd.Timedelta('15 days')

如果已經DatetimeIndex

df.index += pd.Timedelta('15 days')

暫無
暫無

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

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