11# -*- coding: utf-8 -*-
22# cython: profile=False
33
4- import warnings
5-
64cimport numpy as np
75from numpy cimport (int8_t, int32_t, int64_t, import_array, ndarray,
8- float64_t,
9- NPY_INT64, NPY_DATETIME, NPY_TIMEDELTA)
6+ float64_t, NPY_DATETIME, NPY_TIMEDELTA)
107import numpy as np
118
129import sys
@@ -16,12 +13,10 @@ from cpython cimport (
1613 PyTypeObject,
1714 PyFloat_Check,
1815 PyComplex_Check,
19- PyLong_Check,
2016 PyObject_RichCompareBool,
2117 PyObject_RichCompare,
2218 Py_GT, Py_GE, Py_EQ, Py_NE, Py_LT, Py_LE,
23- PyUnicode_Check,
24- PyUnicode_AsUTF8String)
19+ PyUnicode_Check)
2520
2621cdef extern from " Python.h" :
2722 cdef PyTypeObject * Py_TYPE(object )
@@ -38,7 +33,6 @@ from datetime cimport (
3833 pandas_datetimestruct,
3934 pandas_datetime_to_datetimestruct,
4035 pandas_datetimestruct_to_datetime,
41- cmp_pandas_datetimestruct,
4236 days_per_month_table,
4337 get_datetime64_value,
4438 get_timedelta64_value,
@@ -68,23 +62,12 @@ from khash cimport (
6862 kh_resize_int64, kh_get_int64)
6963
7064from .tslibs.parsing import parse_datetime_string
71- from .tslibs.parsing import DateParseError # noqa
7265
7366cimport cython
7467
75- import re
7668import time
7769
78- # dateutil compat
79- from dateutil.tz import (tzoffset, tzlocal as _dateutil_tzlocal,
80- tzutc as _dateutil_tzutc,
81- tzstr as _dateutil_tzstr)
82-
83- from dateutil.relativedelta import relativedelta
84- from dateutil.parser import DEFAULTPARSER
85-
86- from pandas.compat import (parse_date, string_types, iteritems,
87- StringIO, callable )
70+ from pandas.compat import iteritems, callable
8871
8972import operator
9073import collections
@@ -97,9 +80,6 @@ import_array()
9780# import datetime C API
9881PyDateTime_IMPORT
9982
100- # in numpy 1.7, will prob need the following:
101- # numpy_pydatetime_import
102-
10383cdef int64_t NPY_NAT = util.get_nat()
10484iNaT = NPY_NAT
10585
@@ -318,7 +298,7 @@ class Timestamp(_Timestamp):
318298 tz : string / timezone object, default None
319299 Timezone to localize to
320300 """
321- if isinstance (tz, string_types ):
301+ if util.is_string_object (tz):
322302 tz = maybe_get_tz(tz)
323303 return cls (datetime.now(tz))
324304
@@ -613,7 +593,7 @@ class Timestamp(_Timestamp):
613593 if self .tzinfo is None :
614594 # tz naive, localize
615595 tz = maybe_get_tz(tz)
616- if not isinstance (ambiguous, string_types ):
596+ if not util.is_string_object (ambiguous):
617597 ambiguous = [ambiguous]
618598 value = tz_localize_to_utc(np.array([self .value], dtype = ' i8' ), tz,
619599 ambiguous = ambiguous, errors = errors)[0 ]
@@ -2426,8 +2406,8 @@ class Timedelta(_Timedelta):
24262406 raise TypeError (
24272407 " Invalid type {0}. Must be int or float." .format(type (v)))
24282408
2429- kwargs = dict ([ (k, _to_py_int_float(v))
2430- for k, v in iteritems(kwargs) ])
2409+ kwargs = dict ([(k, _to_py_int_float(v))
2410+ for k, v in iteritems(kwargs)])
24312411
24322412 try :
24332413 nano = kwargs.pop(' nanoseconds' , 0 )
@@ -3682,7 +3662,7 @@ def tz_localize_to_utc(ndarray[int64_t] vals, object tz, object ambiguous=None,
36823662 result[i] = v - delta
36833663 return result
36843664
3685- if isinstance (ambiguous, string_types ):
3665+ if util.is_string_object (ambiguous):
36863666 if ambiguous == ' infer' :
36873667 infer_dst = True
36883668 elif ambiguous == ' NaT' :
0 commit comments