@@ -539,12 +539,12 @@ cdef class {{name}}HashTable(HashTable):
539539 -------
540540 uniques : ndarray[{{dtype}}]
541541 Unique values of input, not sorted
542- labels : ndarray[int64 ] (if return_inverse=True)
542+ labels : ndarray[intp_t ] (if return_inverse=True)
543543 The labels from values to uniques
544544 """
545545 cdef:
546546 Py_ssize_t i, idx, count = count_prior, n = len(values)
547- int64_t [:] labels
547+ intp_t [:] labels
548548 int ret = 0
549549 {{c_type}} val, na_value2
550550 khiter_t k
@@ -553,7 +553,7 @@ cdef class {{name}}HashTable(HashTable):
553553 uint8_t[:] mask_values
554554
555555 if return_inverse:
556- labels = np.empty(n, dtype=np.int64 )
556+ labels = np.empty(n, dtype=np.intp )
557557 ud = uniques.data
558558 use_na_value = na_value is not None
559559 use_mask = mask is not None
@@ -614,7 +614,7 @@ cdef class {{name}}HashTable(HashTable):
614614 labels[i] = idx
615615
616616 if return_inverse:
617- return uniques.to_array(), np.asarray( labels)
617+ return uniques.to_array(), labels.base # .base -> underlying ndarray
618618 return uniques.to_array()
619619
620620 def unique(self, const {{dtype}}_t[:] values, bint return_inverse=False):
@@ -633,7 +633,7 @@ cdef class {{name}}HashTable(HashTable):
633633 -------
634634 uniques : ndarray[{{dtype}}]
635635 Unique values of input, not sorted
636- labels : ndarray[int64 ] (if return_inverse)
636+ labels : ndarray[intp_t ] (if return_inverse)
637637 The labels from values to uniques
638638 """
639639 uniques = {{name}}Vector()
@@ -668,7 +668,7 @@ cdef class {{name}}HashTable(HashTable):
668668 -------
669669 uniques : ndarray[{{dtype}}]
670670 Unique values of input, not sorted
671- labels : ndarray[int64 ]
671+ labels : ndarray[intp_t ]
672672 The labels from values to uniques
673673 """
674674 uniques_vector = {{name}}Vector()
@@ -918,12 +918,12 @@ cdef class StringHashTable(HashTable):
918918 -------
919919 uniques : ndarray[object]
920920 Unique values of input, not sorted
921- labels : ndarray[int64 ] (if return_inverse=True)
921+ labels : ndarray[intp_t ] (if return_inverse=True)
922922 The labels from values to uniques
923923 """
924924 cdef:
925925 Py_ssize_t i, idx, count = count_prior, n = len(values)
926- int64_t [:] labels
926+ intp_t [:] labels
927927 int64_t[:] uindexer
928928 int ret = 0
929929 object val
@@ -933,7 +933,7 @@ cdef class StringHashTable(HashTable):
933933 bint use_na_value
934934
935935 if return_inverse:
936- labels = np.zeros(n, dtype=np.int64 )
936+ labels = np.zeros(n, dtype=np.intp )
937937 uindexer = np.empty(n, dtype=np.int64)
938938 use_na_value = na_value is not None
939939
@@ -972,13 +972,13 @@ cdef class StringHashTable(HashTable):
972972 uindexer[count] = i
973973 if return_inverse:
974974 self.table.vals[k] = count
975- labels[i] = <int64_t> count
975+ labels[i] = count
976976 count += 1
977977 elif return_inverse:
978978 # k falls into a previous bucket
979979 # only relevant in case we need to construct the inverse
980980 idx = self.table.vals[k]
981- labels[i] = <int64_t> idx
981+ labels[i] = idx
982982
983983 free(vecs)
984984
@@ -987,7 +987,7 @@ cdef class StringHashTable(HashTable):
987987 uniques.append(values[uindexer[i]])
988988
989989 if return_inverse:
990- return uniques.to_array(), np.asarray( labels)
990+ return uniques.to_array(), labels.base # .base -> underlying ndarray
991991 return uniques.to_array()
992992
993993 def unique(self, ndarray[object] values, bint return_inverse=False):
@@ -1193,19 +1193,19 @@ cdef class PyObjectHashTable(HashTable):
11931193 -------
11941194 uniques : ndarray[object]
11951195 Unique values of input, not sorted
1196- labels : ndarray[int64 ] (if return_inverse=True)
1196+ labels : ndarray[intp_t ] (if return_inverse=True)
11971197 The labels from values to uniques
11981198 """
11991199 cdef:
12001200 Py_ssize_t i, idx, count = count_prior, n = len(values)
1201- int64_t [:] labels
1201+ intp_t [:] labels
12021202 int ret = 0
12031203 object val
12041204 khiter_t k
12051205 bint use_na_value
12061206
12071207 if return_inverse:
1208- labels = np.empty(n, dtype=np.int64 )
1208+ labels = np.empty(n, dtype=np.intp )
12091209 use_na_value = na_value is not None
12101210
12111211 for i in range(n):
@@ -1240,7 +1240,7 @@ cdef class PyObjectHashTable(HashTable):
12401240 labels[i] = idx
12411241
12421242 if return_inverse:
1243- return uniques.to_array(), np.asarray( labels)
1243+ return uniques.to_array(), labels.base # .base -> underlying ndarray
12441244 return uniques.to_array()
12451245
12461246 def unique(self, ndarray[object] values, bint return_inverse=False):
@@ -1259,7 +1259,7 @@ cdef class PyObjectHashTable(HashTable):
12591259 -------
12601260 uniques : ndarray[object]
12611261 Unique values of input, not sorted
1262- labels : ndarray[int64 ] (if return_inverse)
1262+ labels : ndarray[intp_t ] (if return_inverse)
12631263 The labels from values to uniques
12641264 """
12651265 uniques = ObjectVector()
@@ -1292,7 +1292,7 @@ cdef class PyObjectHashTable(HashTable):
12921292 -------
12931293 uniques : ndarray[object]
12941294 Unique values of input, not sorted
1295- labels : ndarray[int64 ]
1295+ labels : ndarray[intp_t ]
12961296 The labels from values to uniques
12971297 """
12981298 uniques_vector = ObjectVector()
0 commit comments