Skip to content

Commit a6f7b36

Browse files
committed
make datetime64 array/asarray calls compatible with numpy 1.7
1 parent 740eb01 commit a6f7b36

File tree

7 files changed

+14
-14
lines changed

7 files changed

+14
-14
lines changed

bench/bench_dense_to_sparse.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
N = 100000
55
rng = DateRange('1/1/2000', periods=N, offset=datetools.Minute())
66

7-
rng2 = np.asarray(rng).astype('M8').astype('i8')
7+
rng2 = np.asarray(rng).astype('M8[us]').astype('i8')
88

99
series = {}
1010
for i in range(1, K + 1):

pandas/core/daterange.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ def __new__(cls, start=None, end=None, periods=None,
9797
if tzinfo is not None:
9898
index = [d.replace(tzinfo=tzinfo) for d in index]
9999

100-
index = np.array(index, dtype=np.datetime64, copy=False)
100+
index = np.array(index, dtype='M8[us]', copy=False)
101101
index = index.view(cls)
102102
index.name = name
103103
index.offset = offset
@@ -152,7 +152,7 @@ def _cached_range(cls, start=None, end=None, periods=None, offset=None,
152152

153153
if offset not in _daterange_cache:
154154
xdr = generate_range(_CACHE_START, _CACHE_END, offset=offset)
155-
arr = np.array(list(xdr), dtype=np.datetime64, copy=False)
155+
arr = np.array(list(xdr), dtype='M8[us]', copy=False)
156156

157157
cachedRange = arr.view(DateRange)
158158
cachedRange.offset = offset

pandas/core/index.py

+7-7
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ def __new__(cls, data, dtype=None, copy=False, name=None):
7979
if (dtype is None
8080
and (lib.is_datetime_array(subarr)
8181
or lib.is_datetime64_array(subarr))):
82-
return DatetimeIndex(subarr.astype('M8'), name=name)
82+
return DatetimeIndex(subarr.astype('M8[us]'), name=name)
8383

8484
if lib.is_integer_array(subarr) and dtype is None:
8585
return Int64Index(subarr.astype('i8'), name=name)
@@ -1062,17 +1062,17 @@ def __new__(cls, data, dtype=None, copy=False, name=None):
10621062
data = list(data)
10631063

10641064
# try to make it datetime64
1065-
data = np.asarray(data, dtype=np.datetime64)
1065+
data = np.asarray(data, dtype='M8[us]')
10661066

10671067
if issubclass(data.dtype.type, basestring):
10681068
raise TypeError('String dtype not supported, you may need '
10691069
'to explicitly cast to datetime64')
10701070
elif issubclass(data.dtype.type, np.integer):
1071-
subarr = np.array(data, dtype=np.datetime64, copy=copy)
1071+
subarr = np.array(data, dtype='M8[us]', copy=copy)
10721072
elif issubclass(data.dtype.type, np.datetime64):
1073-
subarr = np.array(data, dtype=np.datetime64, copy=copy)
1073+
subarr = np.array(data, dtype='M8[us]', copy=copy)
10741074
else:
1075-
subarr = np.array(data, dtype=np.datetime64, copy=copy)
1075+
subarr = np.array(data, dtype='M8[us]', copy=copy)
10761076
if len(data) > 0:
10771077
test = (subarr != data)
10781078
if (type(test) == bool and test == True) or test.any():
@@ -1112,7 +1112,7 @@ def searchsorted(self, key, side='left'):
11121112
if isinstance(key, datetime):
11131113
key = _dt_unbox(key)
11141114
elif isinstance(key, np.ndarray):
1115-
key = np.array(key, dtype=np.datetime64, copy=False)
1115+
key = np.array(key, dtype='M8[us]', copy=False)
11161116
elif not isinstance(key, np.datetime64):
11171117
raise TypeError("Key %s is unrecognized type" % key)
11181118
return self.values.searchsorted(key, side=side)
@@ -1159,7 +1159,7 @@ def equals(self, other):
11591159
other = other.view('i8', type=np.ndarray)
11601160
elif other.inferred_type == 'datetime':
11611161
# TODO: faster conversion from datetime object to datetime64?
1162-
other = np.array(other, dtype='M8', copy=False)
1162+
other = np.array(other, dtype='M8[us]', copy=False)
11631163
other = other.view('i8', type=np.ndarray)
11641164
elif len(other) == 0 and len(self) == 0 and other.dtype == object:
11651165
# fun corner case

pandas/io/pytables.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -742,7 +742,7 @@ def _read_array(group, key):
742742

743743
def _unconvert_index(data, kind):
744744
if kind == 'datetime64':
745-
index = np.array(data, dtype=np.datetime64)
745+
index = np.array(data, dtype='M8[us]')
746746
elif kind == 'datetime':
747747
index = np.array([datetime.fromtimestamp(v) for v in data],
748748
dtype=object)

pandas/tests/test_tseries.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@ def test_unicode(self):
321321
pass
322322

323323
def test_datetime(self):
324-
arr1 = np.array([1,2,3], dtype='M8')
324+
arr1 = np.array([1,2,3], dtype='M8[us]')
325325
result = lib.infer_dtype(arr1)
326326
self.assertEqual(result, 'datetime64')
327327

pandas/tools/tests/test_merge.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1073,7 +1073,7 @@ def test_concat_series(self):
10731073
expected = ts.copy()
10741074

10751075
ts.index = DatetimeIndex(np.array(ts.index.values,
1076-
dtype=np.datetime64))
1076+
dtype='M8[us]'))
10771077

10781078
exp_labels = [np.repeat([0, 1, 2], [len(x) for x in pieces]),
10791079
np.arange(len(ts))]

vb_suite/sparse.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
rng = np.asarray(DateRange('1/1/2000', periods=N,
1515
offset=datetools.Minute()))
1616
17-
# rng2 = np.asarray(rng).astype('M8').astype('i8')
17+
# rng2 = np.asarray(rng).astype('M8[us]').astype('i8')
1818
1919
series = {}
2020
for i in range(1, K + 1):

0 commit comments

Comments
 (0)