@@ -2455,27 +2455,31 @@ def test_insert(self):
2455
2455
with tm .assertRaises (ValueError ):
2456
2456
result = idx .insert (3 , datetime (2000 , 1 , 4 , tzinfo = pytz .timezone ('US/Eastern' )))
2457
2457
2458
- # preserve freq
2459
- expected = date_range ('1/1/2000' , periods = 4 , freq = 'D' , tz = 'Asia/Tokyo' , name = 'idx' )
2460
- for d in [pd .Timestamp ('2000-01-04' , tz = 'Asia/Tokyo' ),
2461
- datetime (2000 , 1 , 4 , tzinfo = pytz .timezone ('Asia/Tokyo' ))]:
2462
-
2463
- result = idx .insert (3 , d )
2464
- self .assertTrue (result .equals (expected ))
2465
- self .assertEqual (result .name , expected .name )
2466
- self .assertEqual (result .freqstr , expected .freq )
2467
-
2468
- expected = DatetimeIndex (['2000-01-01' , '2000-01-02' , '2000-01-03' ,
2469
- '2000-01-02' ], name = 'idx' ,
2470
- tz = 'Asia/Tokyo' , freq = None )
2471
- # reset freq to None
2472
- for d in [pd .Timestamp ('2000-01-02' , tz = 'Asia/Tokyo' ),
2473
- datetime (2000 , 1 , 2 , tzinfo = pytz .timezone ('Asia/Tokyo' ))]:
2474
- result = idx .insert (3 , d )
2475
- self .assertTrue (result .equals (expected ))
2476
- self .assertEqual (result .name , expected .name )
2477
- self .assertTrue (result .freq is None )
2458
+ for tz in ['US/Pacific' , 'Asia/Singapore' ]:
2459
+ idx = date_range ('1/1/2000 09:00' , periods = 6 , freq = 'H' , tz = tz , name = 'idx' )
2460
+ # preserve freq
2461
+ expected = date_range ('1/1/2000 09:00' , periods = 7 , freq = 'H' , tz = tz , name = 'idx' )
2462
+ for d in [pd .Timestamp ('2000-01-01 15:00' , tz = tz ),
2463
+ pytz .timezone (tz ).localize (datetime (2000 , 1 , 1 , 15 ))]:
2464
+
2465
+ result = idx .insert (6 , d )
2466
+ self .assertTrue (result .equals (expected ))
2467
+ self .assertEqual (result .name , expected .name )
2468
+ self .assertEqual (result .freq , expected .freq )
2469
+ self .assertEqual (result .tz , expected .tz )
2478
2470
2471
+ expected = DatetimeIndex (['2000-01-01 09:00' , '2000-01-01 10:00' , '2000-01-01 11:00' ,
2472
+ '2000-01-01 12:00' , '2000-01-01 13:00' , '2000-01-01 14:00' ,
2473
+ '2000-01-01 10:00' ], name = 'idx' ,
2474
+ tz = tz , freq = None )
2475
+ # reset freq to None
2476
+ for d in [pd .Timestamp ('2000-01-01 10:00' , tz = tz ),
2477
+ pytz .timezone (tz ).localize (datetime (2000 , 1 , 1 , 10 ))]:
2478
+ result = idx .insert (6 , d )
2479
+ self .assertTrue (result .equals (expected ))
2480
+ self .assertEqual (result .name , expected .name )
2481
+ self .assertTrue (result .freq is None )
2482
+ self .assertEqual (result .tz , expected .tz )
2479
2483
2480
2484
def test_delete (self ):
2481
2485
idx = date_range (start = '2000-01-01' , periods = 5 , freq = 'M' , name = 'idx' )
@@ -2501,16 +2505,25 @@ def test_delete(self):
2501
2505
# either depeidnig on numpy version
2502
2506
result = idx .delete (5 )
2503
2507
2504
- idx = date_range (start = '2000-01-01' , periods = 5 ,
2505
- freq = 'D' , name = 'idx' , tz = 'US/Pacific' )
2508
+ for tz in [None , 'Asia/Tokyo' , 'US/Pacific' ]:
2509
+ idx = date_range (start = '2000-01-01 09:00' , periods = 10 ,
2510
+ freq = 'H' , name = 'idx' , tz = tz )
2506
2511
2507
- expected = date_range (start = '2000-01-02' , periods = 4 ,
2508
- freq = 'D' , name = 'idx' , tz = 'US/Pacific' )
2509
- result = idx .delete (0 )
2510
- self .assertTrue (result .equals (expected ))
2511
- self .assertEqual (result .name , expected .name )
2512
- self .assertEqual (result .freqstr , 'D' )
2513
- self .assertEqual (result .tz , expected .tz )
2512
+ expected = date_range (start = '2000-01-01 10:00' , periods = 9 ,
2513
+ freq = 'H' , name = 'idx' , tz = tz )
2514
+ result = idx .delete (0 )
2515
+ self .assertTrue (result .equals (expected ))
2516
+ self .assertEqual (result .name , expected .name )
2517
+ self .assertEqual (result .freqstr , 'H' )
2518
+ self .assertEqual (result .tz , expected .tz )
2519
+
2520
+ expected = date_range (start = '2000-01-01 09:00' , periods = 9 ,
2521
+ freq = 'H' , name = 'idx' , tz = tz )
2522
+ result = idx .delete (- 1 )
2523
+ self .assertTrue (result .equals (expected ))
2524
+ self .assertEqual (result .name , expected .name )
2525
+ self .assertEqual (result .freqstr , 'H' )
2526
+ self .assertEqual (result .tz , expected .tz )
2514
2527
2515
2528
def test_delete_slice (self ):
2516
2529
idx = date_range (start = '2000-01-01' , periods = 10 , freq = 'D' , name = 'idx' )
@@ -2538,30 +2551,34 @@ def test_delete_slice(self):
2538
2551
self .assertEqual (result .name , expected .name )
2539
2552
self .assertEqual (result .freq , expected .freq )
2540
2553
2541
- ts = pd .Series (1 , index = pd .date_range ('2000-01-01' , periods = 10 ,
2542
- freq = 'D' , name = 'idx' ))
2543
- # preserve freq
2544
- result = ts .drop (ts .index [:5 ]).index
2545
- expected = pd .date_range ('2000-01-06' , periods = 5 , freq = 'D' , name = 'idx' )
2546
- self .assertTrue (result .equals (expected ))
2547
- self .assertEqual (result .name , expected .name )
2548
- self .assertEqual (result .freq , expected .freq )
2554
+ for tz in [None , 'Asia/Tokyo' , 'US/Pacific' ]:
2555
+ ts = pd .Series (1 , index = pd .date_range ('2000-01-01 09:00' , periods = 10 ,
2556
+ freq = 'H' , name = 'idx' , tz = tz ))
2557
+ # preserve freq
2558
+ result = ts .drop (ts .index [:5 ]).index
2559
+ expected = pd .date_range ('2000-01-01 14:00' , periods = 5 , freq = 'H' , name = 'idx' , tz = tz )
2560
+ self .assertTrue (result .equals (expected ))
2561
+ self .assertEqual (result .name , expected .name )
2562
+ self .assertEqual (result .freq , expected .freq )
2563
+ self .assertEqual (result .tz , expected .tz )
2549
2564
2550
- # reset freq to None
2551
- result = ts .drop (ts .index [[1 , 3 , 5 , 7 , 9 ]]).index
2552
- expected = DatetimeIndex (['2000-01-01' , '2000-01-03' , '2000-01-05' ,
2553
- '2000-01-07' , '2000-01-09' ], freq = None , name = 'idx' )
2554
- self .assertTrue (result .equals (expected ))
2555
- self .assertEqual (result .name , expected .name )
2556
- self .assertEqual (result .freq , expected .freq )
2565
+ # reset freq to None
2566
+ result = ts .drop (ts .index [[1 , 3 , 5 , 7 , 9 ]]).index
2567
+ expected = DatetimeIndex (['2000-01-01 09:00' , '2000-01-01 11:00' , '2000-01-01 13:00' ,
2568
+ '2000-01-01 15:00' , '2000-01-01 17:00' ],
2569
+ freq = None , name = 'idx' , tz = tz )
2570
+ self .assertTrue (result .equals (expected ))
2571
+ self .assertEqual (result .name , expected .name )
2572
+ self .assertEqual (result .freq , expected .freq )
2573
+ self .assertEqual (result .tz , expected .tz )
2557
2574
2558
2575
def test_take (self ):
2559
- dates = [datetime (2010 , 1 , 6 ), datetime (2010 , 1 , 7 ),
2560
- datetime (2010 , 1 , 9 ), datetime (2010 , 1 , 13 )]
2576
+ dates = [datetime (2010 , 1 , 1 , 14 ), datetime (2010 , 1 , 1 , 15 ),
2577
+ datetime (2010 , 1 , 1 , 17 ), datetime (2010 , 1 , 1 , 21 )]
2561
2578
2562
2579
for tz in [None , 'US/Eastern' , 'Asia/Tokyo' ]:
2563
- idx = DatetimeIndex (start = '1/1/10 ' , end = '12/31/12 ' ,
2564
- freq = 'D ' , tz = tz , name = 'idx' )
2580
+ idx = DatetimeIndex (start = '2010-01-01 09:00 ' , end = '2010-02-01 09:00 ' ,
2581
+ freq = 'H ' , tz = tz , name = 'idx' )
2565
2582
expected = DatetimeIndex (dates , freq = None , name = 'idx' , tz = tz )
2566
2583
2567
2584
taken1 = idx .take ([5 , 6 , 8 , 12 ])
0 commit comments