12

次のように作成された Pandas データフレームがあるとします。

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)

私はインデックスで何かを正しく行うことができないようです....

4

3 に答える 3

23

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
于 2013-11-06T18:54:15.977 に答える
10

わずかに短い/より直接的なものは次のtshiftとおりです。

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

freq エイリアスのリストへのリンク

于 2014-04-23T08:03:20.083 に答える