Skip to content

Commit 6cae445

Browse files
jrebackwesm
authored andcommitted
TST: added addtl datetimes test in construction (ref GH #2809/2810)
1 parent 1511d3f commit 6cae445

File tree

2 files changed

+29
-0
lines changed

2 files changed

+29
-0
lines changed

pandas/tests/test_frame.py

+20
Original file line numberDiff line numberDiff line change
@@ -8039,6 +8039,26 @@ def test_constructor_with_datetimes(self):
80398039
expected = Series({'int64': 1, 'float64' : 1, 'datetime64[ns]': 1, 'object' : 1})
80408040
assert_series_equal(result, expected)
80418041

8042+
# GH 2809
8043+
from pandas import date_range
8044+
ind = date_range(start="2000-01-01", freq="D", periods=10)
8045+
datetimes = [ts.to_pydatetime() for ts in ind]
8046+
datetime_s = Series(datetimes)
8047+
self.assert_(datetime_s.dtype == 'M8[ns]')
8048+
df = DataFrame({'datetime_s':datetime_s})
8049+
result = df.get_dtype_counts()
8050+
expected = Series({ 'datetime64[ns]' : 1 })
8051+
assert_series_equal(result, expected)
8052+
8053+
# GH 2810
8054+
ind = date_range(start="2000-01-01", freq="D", periods=10)
8055+
datetimes = [ts.to_pydatetime() for ts in ind]
8056+
dates = [ts.date() for ts in ind]
8057+
df = DataFrame({'datetimes': datetimes, 'dates':dates})
8058+
result = df.get_dtype_counts()
8059+
expected = Series({ 'datetime64[ns]' : 1, 'object' : 1 })
8060+
assert_series_equal(result, expected)
8061+
80428062
def test_constructor_frame_copy(self):
80438063
cop = DataFrame(self.frame, copy=True)
80448064
cop['A'] = 5

pandas/tseries/tests/test_timezones.py

+9
Original file line numberDiff line numberDiff line change
@@ -491,11 +491,20 @@ def test_to_datetime_tzlocal(self):
491491
self.assert_(result.tz is pytz.utc)
492492

493493
def test_frame_no_datetime64_dtype(self):
494+
494495
dr = date_range('2011/1/1', '2012/1/1', freq='W-FRI')
495496
dr_tz = dr.tz_localize('US/Eastern')
496497
e = DataFrame({'A': 'foo', 'B': dr_tz}, index=dr)
497498
self.assert_(e['B'].dtype == 'M8[ns]')
498499

500+
# GH 2810 (with timezones)
501+
datetimes_naive = [ ts.to_pydatetime() for ts in dr ]
502+
datetimes_with_tz = [ ts.to_pydatetime() for ts in dr_tz ]
503+
df = DataFrame({'dr' : dr, 'dr_tz' : dr_tz, 'datetimes_naive': datetimes_naive, 'datetimes_with_tz' : datetimes_with_tz })
504+
result = df.get_dtype_counts()
505+
expected = Series({ 'datetime64[ns]' : 3, 'object' : 1 })
506+
assert_series_equal(result, expected)
507+
499508
def test_hongkong_tz_convert(self):
500509
# #1673
501510
dr = date_range(

0 commit comments

Comments
 (0)