4
4
.. ipython :: python
5
5
:suppress:
6
6
7
- import datetime
8
7
import numpy as np
9
8
import pandas as pd
9
+
10
10
np.random.seed(123456 )
11
- randn = np.random.randn
12
- randint = np.random.randint
13
11
np.set_printoptions(precision = 4 , suppress = True )
14
- pd.options.display.max_rows= 15
15
- import dateutil
16
- import pytz
17
- from dateutil.relativedelta import relativedelta
18
- from pandas.tseries.offsets import *
12
+ pd.options.display.max_rows = 15
19
13
20
14
.. _timedeltas.timedeltas :
21
15
@@ -37,6 +31,8 @@ You can construct a ``Timedelta`` scalar through various arguments:
37
31
38
32
.. ipython :: python
39
33
34
+ import datetime
35
+
40
36
# strings
41
37
pd.Timedelta(' 1 days' )
42
38
pd.Timedelta(' 1 days 00:00:00' )
@@ -74,13 +70,14 @@ You can construct a ``Timedelta`` scalar through various arguments:
74
70
75
71
.. ipython :: python
76
72
77
- pd.Timedelta(Second(2 ))
73
+ pd.Timedelta(pd.offsets. Second(2 ))
78
74
79
75
Further, operations among the scalars yield another scalar ``Timedelta ``.
80
76
81
77
.. ipython :: python
82
78
83
- pd.Timedelta(Day(2 )) + pd.Timedelta(Second(2 )) + pd.Timedelta(' 00:00:00.000123' )
79
+ pd.Timedelta(pd.offsets.Day(2 )) + pd.Timedelta(pd.offsets.Second(2 )) + \
80
+ pd.Timedelta(' 00:00:00.000123' )
84
81
85
82
to_timedelta
86
83
~~~~~~~~~~~~
@@ -135,8 +132,8 @@ subtraction operations on ``datetime64[ns]`` Series, or ``Timestamps``.
135
132
.. ipython :: python
136
133
137
134
s = pd.Series(pd.date_range(' 2012-1-1' , periods = 3 , freq = ' D' ))
138
- td = pd.Series([ pd.Timedelta(days = i) for i in range (3 ) ])
139
- df = pd.DataFrame(dict ( A = s, B = td) )
135
+ td = pd.Series([pd.Timedelta(days = i) for i in range (3 )])
136
+ df = pd.DataFrame({ ' A ' : s, ' B ' : td} )
140
137
df
141
138
df[' C' ] = df[' A' ] + df[' B' ]
142
139
df
@@ -145,8 +142,8 @@ subtraction operations on ``datetime64[ns]`` Series, or ``Timestamps``.
145
142
s - s.max()
146
143
s - datetime.datetime(2011 , 1 , 1 , 3 , 5 )
147
144
s + datetime.timedelta(minutes = 5 )
148
- s + Minute(5 )
149
- s + Minute(5 ) + Milli(5 )
145
+ s + pd.offsets. Minute(5 )
146
+ s + pd.offsets. Minute(5 ) + pd.offsets. Milli(5 )
150
147
151
148
Operations with scalars from a ``timedelta64[ns] `` series:
152
149
@@ -184,7 +181,7 @@ Operands can also appear in a reversed order (a singular object operated with a
184
181
A = s - pd.Timestamp(' 20120101' ) - pd.Timedelta(' 00:05:05' )
185
182
B = s - pd.Series(pd.date_range(' 2012-1-2' , periods = 3 , freq = ' D' ))
186
183
187
- df = pd.DataFrame(dict ( A = A, B = B) )
184
+ df = pd.DataFrame({ ' A ' : A, ' B ' : B} )
188
185
df
189
186
190
187
df.min()
@@ -232,7 +229,8 @@ Numeric reduction operation for ``timedelta64[ns]`` will return ``Timedelta`` ob
232
229
233
230
.. ipython :: python
234
231
235
- y2 = pd.Series(pd.to_timedelta([' -1 days +00:00:05' , ' nat' , ' -1 days +00:00:05' , ' 1 days' ]))
232
+ y2 = pd.Series(pd.to_timedelta([' -1 days +00:00:05' , ' nat' ,
233
+ ' -1 days +00:00:05' , ' 1 days' ]))
236
234
y2
237
235
y2.mean()
238
236
y2.median()
@@ -250,8 +248,10 @@ Note that division by the NumPy scalar is true division, while astyping is equiv
250
248
251
249
.. ipython :: python
252
250
253
- td = pd.Series(pd.date_range(' 20130101' , periods = 4 )) - \
254
- pd.Series(pd.date_range(' 20121201' , periods = 4 ))
251
+ december = pd.Series(pd.date_range(' 20121201' , periods = 4 ))
252
+ january = pd.Series(pd.date_range(' 20130101' , periods = 4 ))
253
+ td = january - december
254
+
255
255
td[2 ] += datetime.timedelta(minutes = 5 , seconds = 3 )
256
256
td[3 ] = np.nan
257
257
td
@@ -360,8 +360,8 @@ or ``np.timedelta64`` objects. Passing ``np.nan/pd.NaT/nat`` will represent miss
360
360
361
361
.. ipython :: python
362
362
363
- pd.TimedeltaIndex([' 1 days' , ' 1 days, 00:00:05' ,
364
- np.timedelta64( 2 , ' D ' ), datetime.timedelta(days = 2 ,seconds = 2 )])
363
+ pd.TimedeltaIndex([' 1 days' , ' 1 days, 00:00:05' , np.timedelta64( 2 , ' D ' ),
364
+ datetime.timedelta(days = 2 , seconds = 2 )])
365
365
366
366
The string 'infer' can be passed in order to set the frequency of the index as the
367
367
inferred frequency upon creation:
@@ -458,7 +458,7 @@ Similarly to frequency conversion on a ``Series`` above, you can convert these i
458
458
459
459
.. ipython :: python
460
460
461
- tdi / np.timedelta64(1 ,' s' )
461
+ tdi / np.timedelta64(1 , ' s' )
462
462
tdi.astype(' timedelta64[s]' )
463
463
464
464
Scalars type ops work as well. These can potentially return a *different * type of index.
0 commit comments