scipy.sparse.

get_index_dtype#

scipy.sparse.get_index_dtype(arrays=(), maxval=None, check_contents=False)[源代码]#

基于输入(整数)数组 a,确定一个适合保存数组中数据的索引数据类型。

参数:
arraysarray_like 的元组

要检查类型/内容的输入数组

maxval浮点数,可选

需要的最大值

check_contents布尔值,可选

是否检查数组中的值,而不仅仅是它们的类型。默认值:False(仅检查类型)

返回:
dtypedtype

合适的索引数据类型(int32 或 int64)

示例

>>> import numpy as np
>>> from scipy import sparse
>>> # select index dtype based on shape
>>> shape = (3, 3)
>>> idx_dtype = sparse.get_index_dtype(maxval=max(shape))
>>> data = [1.1, 3.0, 1.5]
>>> indices = np.array([0, 1, 0], dtype=idx_dtype)
>>> indptr = np.array([0, 2, 3, 3], dtype=idx_dtype)
>>> A = sparse.csr_array((data, indices, indptr), shape=shape)
>>> A.indptr.dtype
dtype('int32')
>>> # select based on larger of existing arrays and shape
>>> shape = (3, 3)
>>> idx_dtype = sparse.get_index_dtype(A.indptr, maxval=max(shape))
>>> idx_dtype
<class 'numpy.int32'>