22
22
import pandas .core .datetools as datetools
23
23
from pandas .core .api import (DataFrame , Index , Series , notnull , isnull ,
24
24
MultiIndex , DatetimeIndex , Timestamp , Period )
25
+ from pandas import date_range
25
26
from pandas .io .parsers import read_csv
26
27
27
28
from pandas .util .testing import (assert_almost_equal ,
@@ -2197,7 +2198,6 @@ def test_constructor_error_msgs(self):
2197
2198
self .assert_ ("Mixing dicts with non-Series may lead to ambiguous ordering." in str (detail ))
2198
2199
2199
2200
# wrong size ndarray, GH 3105
2200
- from pandas import date_range
2201
2201
try :
2202
2202
DataFrame (np .arange (12 ).reshape ((4 , 3 )), columns = ['foo' , 'bar' , 'baz' ],
2203
2203
index = date_range ('2000-01-01' , periods = 3 ))
@@ -2888,7 +2888,6 @@ def test_constructor_with_datetimes(self):
2888
2888
assert_series_equal (result , expected )
2889
2889
2890
2890
# GH 2809
2891
- from pandas import date_range
2892
2891
ind = date_range (start = "2000-01-01" , freq = "D" , periods = 10 )
2893
2892
datetimes = [ts .to_pydatetime () for ts in ind ]
2894
2893
datetime_s = Series (datetimes )
@@ -2975,7 +2974,6 @@ def test_constructor_for_list_with_dtypes(self):
2975
2974
2976
2975
def test_timedeltas (self ):
2977
2976
2978
- from pandas import date_range
2979
2977
df = DataFrame (dict (A = Series (date_range ('2012-1-1' , periods = 3 , freq = 'D' )),
2980
2978
B = Series ([ timedelta (days = i ) for i in range (3 ) ])))
2981
2979
result = df .get_dtype_counts ()
@@ -3001,7 +2999,6 @@ def test_timedeltas(self):
3001
2999
3002
3000
def test_operators_timedelta64 (self ):
3003
3001
3004
- from pandas import date_range
3005
3002
from datetime import datetime , timedelta
3006
3003
df = DataFrame (dict (A = date_range ('2012-1-1' , periods = 3 , freq = 'D' ),
3007
3004
B = date_range ('2012-1-2' , periods = 3 , freq = 'D' ),
@@ -6838,6 +6835,19 @@ def test_where_bug(self):
6838
6835
result .where (result > 2 , np .nan , inplace = True )
6839
6836
assert_frame_equal (result , expected )
6840
6837
6838
+ def test_where_datetime (self ):
6839
+
6840
+ # GH 3311
6841
+ df = DataFrame (dict (A = date_range ('20130102' ,periods = 5 ),
6842
+ B = date_range ('20130104' ,periods = 5 ),
6843
+ C = np .random .randn (5 )))
6844
+
6845
+ stamp = datetime (2013 ,1 ,3 )
6846
+ result = df [df > stamp ]
6847
+ expected = df .copy ()
6848
+ expected .loc [[0 ,1 ],'A' ] = np .nan
6849
+ assert_frame_equal (result ,expected )
6850
+
6841
6851
def test_mask (self ):
6842
6852
df = DataFrame (np .random .randn (5 , 3 ))
6843
6853
cond = df > 0
0 commit comments