|
11 | 11 | import numpy as np
|
12 | 12 | from numpy.testing.decorators import slow
|
13 | 13 |
|
14 |
| -from pandas import DataFrame, Series, Index, isnull |
| 14 | +from pandas import DataFrame, Series, Index, MultiIndex, isnull |
15 | 15 | import pandas.io.parsers as parsers
|
16 | 16 | from pandas.io.parsers import (read_csv, read_table, read_fwf,
|
17 | 17 | TextParser)
|
@@ -120,22 +120,30 @@ def test_generic(self):
|
120 | 120 | self.assertEqual(df.ym.ix[0], date(2001, 1, 1))
|
121 | 121 |
|
122 | 122 | def test_dateparser_resolution_if_not_ns(self):
|
| 123 | + # issue 10245 |
123 | 124 | data = """\
|
124 |
| -week,sow,prn,rxstatus |
125 |
| - 2013-11-03,19:00:00,126,00E80000 |
126 |
| - 2013-11-03,19:00:00,23,00E80000 |
127 |
| - 2013-11-03,19:00:00,13,00E80000 |
| 125 | +date,time,prn,rxstatus |
| 126 | +2013-11-03,19:00:00,126,00E80000 |
| 127 | +2013-11-03,19:00:00,23,00E80000 |
| 128 | +2013-11-03,19:00:00,13,00E80000 |
128 | 129 | """
|
129 | 130 |
|
130 | 131 | def date_parser(date, time):
|
131 | 132 | datetime = np.array(date + 'T' + time + 'Z', dtype='datetime64[s]')
|
132 | 133 | return datetime
|
133 | 134 |
|
134 | 135 | df = read_csv(StringIO(data), date_parser=date_parser,
|
135 |
| - parse_dates={'datetime': ['week', 'sow']}, |
| 136 | + parse_dates={'datetime': ['date', 'time']}, |
136 | 137 | index_col=['datetime', 'prn'])
|
137 | 138 |
|
138 |
| - self.assertEqual(df.index[0][0], datetime(2013, 11, 3, 19)) |
| 139 | + datetimes = np.array(['2013-11-03T19:00:00Z']*3, dtype='datetime64[s]') |
| 140 | + df_correct = DataFrame(data={'rxstatus': ['00E80000']*3}, |
| 141 | + index=MultiIndex.from_tuples( |
| 142 | + [(datetimes[0], 126), |
| 143 | + (datetimes[1], 23), |
| 144 | + (datetimes[2], 13)], |
| 145 | + names=['datetime', 'prn'])) |
| 146 | + assert_frame_equal(df, df_correct) |
139 | 147 |
|
140 | 148 | if __name__ == '__main__':
|
141 | 149 | import nose
|
|
0 commit comments