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_indand- col_indsatisfy the relationship- a[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 in- data[indptr[i]:indptr[i+1]]. If the shape parameter is not supplied, the array dimensions are inferred from the index arrays.
 
 - Attributes:
- dtypedtype
- Data type of the array 
- shape2-tuple
- Shape of the array 
- ndimint
- Number of dimensions (this is always 2) 
- nnz
- Number of stored values, including explicit zeros. 
- size
- Number 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_indices
- Whether the indices are sorted 
- has_canonical_format
- Whether the array/matrix has sorted indices and no duplicates 
- T
- Transpose. 
 
 - 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)- Element-wise multiplication by another array/matrix. - 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 - shape- rint()- 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__ - 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]])