csc_array#
- class scipy.sparse.csc_array(arg1, shape=None, dtype=None, copy=False, *, maxprint=None)[source]#
Compressed Sparse Column array.
- This can be instantiated in several ways:
- csc_array(D)
where D is a 2-D ndarray
- csc_array(S)
with another sparse array or matrix S (equivalent to S.tocsc())
- csc_array((M, N), [dtype])
to construct an empty array with shape (M, N) dtype is optional, defaulting to dtype=’d’.
- csc_array((data, (row_ind, col_ind)), [shape=(M, N)])
where
data,row_indandcol_indsatisfy the relationshipa[row_ind[k], col_ind[k]] = data[k].- csc_array((data, indices, indptr), [shape=(M, N)])
is the standard CSC representation where the row indices for column i are stored in
indices[indptr[i]:indptr[i+1]]and their corresponding values are stored indata[indptr[i]:indptr[i+1]]. If the shape parameter is not supplied, the array dimensions are inferred from the index arrays.
Notes
Sparse arrays can be used in arithmetic operations: they support addition, subtraction, multiplication, division, and matrix power.
- Advantages of the CSC format
efficient arithmetic operations CSC + CSC, CSC * CSC, etc.
efficient column slicing
fast matrix vector products (CSR, BSR may be faster)
- Disadvantages of the CSC format
slow row slicing operations (consider CSR)
changes to the sparsity structure are expensive (consider LIL or DOK)
- Canonical format
Within each column, indices are sorted by row.
There are no duplicate entries.
Examples
>>> import numpy as np >>> from scipy.sparse import csc_array >>> csc_array((3, 4), dtype=np.int8).toarray() array([[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], dtype=int8)
>>> row = np.array([0, 2, 2, 0, 1, 2]) >>> col = np.array([0, 0, 1, 2, 2, 2]) >>> data = np.array([1, 2, 3, 4, 5, 6]) >>> csc_array((data, (row, col)), shape=(3, 3)).toarray() array([[1, 0, 4], [0, 0, 5], [2, 3, 6]])
>>> indptr = np.array([0, 2, 3, 6]) >>> indices = np.array([0, 2, 2, 0, 1, 2]) >>> data = np.array([1, 2, 3, 4, 5, 6]) >>> csc_array((data, indices, indptr), shape=(3, 3)).toarray() array([[1, 0, 4], [0, 0, 5], [2, 3, 6]])
- Attributes:
- dtypedtype
Data type of the array
- shape2-tuple
Shape of the array
- ndimint
Number of dimensions (this is always 2)
nnzNumber of stored values, including explicit zeros.
sizeNumber of stored values.
- data
CSC format data array of the array
- indices
CSC format index array of the array
- indptr
CSC format index pointer array of the array
has_sorted_indicesWhether the indices are sorted
has_canonical_formatWhether the array/matrix has sorted indices and no duplicates
TTranspose.
Methods
__len__()arcsin()Element-wise arcsin.
arcsinh()Element-wise arcsinh.
arctan()Element-wise arctan.
arctanh()Element-wise arctanh.
argmax([axis, out, explicit])Return indices of maximum elements along an axis.
argmin([axis, out, explicit])Return indices of minimum elements along an axis.
asformat(format[, copy])Return this array/matrix in the passed format.
astype(dtype[, casting, copy])Cast the array/matrix elements to a specified type.
ceil()Element-wise ceil.
check_format([full_check])Check whether the array/matrix respects the CSR or CSC format.
conj([copy])Element-wise complex conjugation.
conjugate([copy])Element-wise complex conjugation.
copy()Returns a copy of this array/matrix.
count_nonzero([axis])Number of non-zero entries, equivalent to
deg2rad()Element-wise deg2rad.
diagonal([k])Returns the kth diagonal of the array/matrix.
dot(other)Ordinary dot product
Remove zero entries from the array/matrix
expm1()Element-wise expm1.
floor()Element-wise floor.
log1p()Element-wise log1p.
max([axis, out, explicit])Return the maximum of the array/matrix or maximum along an axis.
maximum(other)Element-wise maximum between this and another array/matrix.
mean([axis, dtype, out])Compute the arithmetic mean along the specified axis.
min([axis, out, explicit])Return the minimum of the array/matrix or maximum along an axis.
minimum(other)Element-wise minimum between this and another array/matrix.
multiply(other)Point-wise multiplication by array/matrix, vector, or scalar.
nanmax([axis, out, explicit])Return the maximum, ignoring any Nans, along an axis.
nanmin([axis, out, explicit])Return the minimum, ignoring any Nans, along an axis.
nonzero()Nonzero indices of the array/matrix.
power(n[, dtype])This function performs element-wise power.
prune()Remove empty space after all non-zero elements.
rad2deg()Element-wise rad2deg.
reshape(self, shape[, order, copy])Gives a new shape to a sparse array/matrix without changing its data.
resize(*shape)Resize the array/matrix in-place to dimensions given by
shaperint()Element-wise rint.
setdiag(values[, k])Set diagonal or off-diagonal elements of the array/matrix.
sign()Element-wise sign.
sin()Element-wise sin.
sinh()Element-wise sinh.
Sort the indices of this array/matrix in place
Return a copy of this array/matrix with sorted indices
sqrt()Element-wise sqrt.
sum([axis, dtype, out])Sum the array/matrix elements over a given axis.
Eliminate duplicate entries by adding them together
tan()Element-wise tan.
tanh()Element-wise tanh.
toarray([order, out])Return a dense ndarray representation of this sparse array/matrix.
tobsr([blocksize, copy])Convert this array/matrix to Block Sparse Row format.
tocoo([copy])Convert this array/matrix to COOrdinate format.
tocsc([copy])Convert this array/matrix to Compressed Sparse Column format.
tocsr([copy])Convert this array/matrix to Compressed Sparse Row format.
todense([order, out])Return a dense representation of this sparse array.
todia([copy])Convert this array/matrix to sparse DIAgonal format.
todok([copy])Convert this array/matrix to Dictionary Of Keys format.
tolil([copy])Convert this array/matrix to List of Lists format.
trace([offset])Returns the sum along diagonals of the sparse array/matrix.
transpose([axes, copy])Reverses the dimensions of the sparse array/matrix.
trunc()Element-wise trunc.
__getitem__
__mul__