matrices
This module contains all functions related to matrices.
- class ColumnView(matrix)
Bases:
Mapping[Any,CommensurableValues[S]],Generic[S]This class defines a view of a value matrix per column.
- Parameters
matrix (IValueMatrix[S]) –
- get(k[, d]) D[k] if k in D, else d. d defaults to None.
- items() a set-like object providing a view on D's items
- keys() a set-like object providing a view on D's keys
- values() an object providing a view on D's values
- class IAdjacencyMatrix(data, vertices=None, **kwargs)
Bases:
IMatrix,ABCThis class implements graphs as an adjacency matrix.
The adjacency matrix is represented internally by a
pandas.DataFramewith vertices as the indexes and columns.- Parameters
data – adjacency matrix in an array-like or dict-structure
vertices (Union[List, None]) –
- Raises
KeyError –
if columns and rows have different sets of labels
if some vertices are duplicated
Note
the cells of the matrix can be of any type (not just numerics)
- property cell: Mapping[Tuple[Any, Any], Any]
Return matrix cell accessor.
Note
actually returns
DataFrame.at()fromdata
- property columns: List
Return column labels.
- property rows: List
Return row labels.
- property vertices: List
Return list of vertices
- class IMatrix(data, **kwargs)
Bases:
ABCThis class implements a wrapper on
pandas.DataFrame.It adds a method to check if two such objects are equals. It is meant to be use for any class that needs a DataFrame as its internal data representation in this package.
- Parameters
data – dataframe containing the matrix
- Raises
KeyError –
if some indexes are duplicated
if some columns are duplicated
- property cell: Mapping[Tuple[Any, Any], Any]
Return matrix cell accessor.
Note
actually returns
DataFrame.at()fromdata
- property columns: List
Return column labels.
- property rows: List
Return row labels.
- class IValueMatrix(data, scales=None, stype=None, **kwargs)
Bases:
IMatrix,Generic[S],ABCThis class defines a matrix with associated scales (one per column).
- Parameters
data –
scales (Union[S, Mapping[Any, S], None]) – data scale(s) (one per column or one shared, will be inferred from data if absent using
Scale.fit())stype (Union[Type[S], None]) – scales type used
- Raises
KeyError –
if some indexes are duplicated
if some columns are duplicated
TypeError – if stype and scales types mismatch
Todo
remove this class completely, put its code in current subclasses
- property bounds: Mapping[Any, S]
Return scales inferred from values.
- property cell: Mapping[Tuple[Any, Any], Any]
Return matrix cell accessor.
Note
actually returns
DataFrame.at()fromdata
- property columns: List
Return column labels.
- property columns_values: Mapping[Any, CommensurableValues[S]]
Iterator on the table criteria values
- copy()
Return a copy of the object
- Return type
Self
- property is_numeric: bool
Check whether table is numeric.
- Returns
- Return type
bool
- property is_ordinal: bool
Check whether scales are all ordinal.
- Returns
- property is_within_scales: bool
Check whether all values are within their respective scales.
- Returns
- property rows: List
Return row labels.
- sum(axis: None = None) float
- sum(axis: Literal[0, 1]) CommensurableValues[QuantitativeScale]
Return the sum of the data (all table, row or column-wise).
- Parameters
axis –
0: column-wise sum
1: row-wise sum
None: complete sum
- Returns
Warning
it will raise a
TypeErrorif data contains numeric and non-numeric values
- abstract property to_numeric: IValueMatrix[QuantitativeScale]
Return numeric conversion of ordinal values.
- Raises
TypeError – if
scalesare not ordinal
- property union_bounds: S
Return one scale for whole matrix inferred from values.
- property within_scales: DataFrame
Return a dataframe indicating which values are within their respective scale.
- Returns
- OutrankingMatrix
This type alias represents an outranking matrix
- class PartialColumnView(matrix)
Bases:
Mapping[Any,PerformanceTable[S]],Generic[S]This class defines a view of a partial value matrix per column.
- Parameters
matrix (PartialValueMatrix[S]) –
- get(k[, d]) D[k] if k in D, else d. d defaults to None.
- items() a set-like object providing a view on D's items
- keys() a set-like object providing a view on D's keys
- values() an object providing a view on D's values
- class PartialCriterionView(matrix)
Bases:
Mapping[Any,AdjacencyValueMatrix[S]],Generic[S]This class defines a view of a partial value matrix per criterion.
- Parameters
matrix (PartialValueMatrix[S]) –
- get(k[, d]) D[k] if k in D, else d. d defaults to None.
- items() a set-like object providing a view on D's items
- keys() a set-like object providing a view on D's keys
- values() an object providing a view on D's values
- class PartialRowView(matrix)
Bases:
Mapping[Any,PerformanceTable[S]],Generic[S]This class defines a view of a partial value matrix per row.
- Parameters
matrix (PartialValueMatrix[S]) –
- get(k[, d]) D[k] if k in D, else d. d defaults to None.
- items() a set-like object providing a view on D's items
- keys() a set-like object providing a view on D's keys
- values() an object providing a view on D's values
- class RowView(matrix)
Bases:
Mapping[Any,Values[S]],Generic[S]This class defines a view of a value matrix per row.
- Parameters
matrix (IValueMatrix[S]) –
- get(k[, d]) D[k] if k in D, else d. d defaults to None.
- items() a set-like object providing a view on D's items
- keys() a set-like object providing a view on D's keys
- values() an object providing a view on D's values
- class VertexColumnView(matrix)
Bases:
ColumnView[S],Generic[S]This class defines a view of an adjacency value matrix per column.
- Parameters
matrix (AdjacencyValueMatrix[S]) –
- get(k[, d]) D[k] if k in D, else d. d defaults to None.
- items() a set-like object providing a view on D's items
- keys() a set-like object providing a view on D's keys
- values() an object providing a view on D's values
- class VertexRowView(matrix)
Bases:
Mapping[Any,CommensurableValues[S]],Generic[S]This class defines a view of an adjacency value matrix per row.
- Parameters
matrix (AdjacencyValueMatrix[S]) –
- get(k[, d]) D[k] if k in D, else d. d defaults to None.
- items() a set-like object providing a view on D's items
- keys() a set-like object providing a view on D's keys
- values() an object providing a view on D's values
- create_outranking_matrix(data, vertices=None, **kwargs)
Create an outranking matrix.
- Parameters
data – adjacency matrix in an array-like or dict-structure
vertices (Optional[List]) –
- Raises
KeyError –
if columns and rows have different sets of labels
if some vertices are duplicated
TypeError – if data is not binary
- Return type
Note
This function is just an easier way to create
AdjacencyValueMatrixwith binary scale
- dataframe_equals(df1, df2)
Check if two dataframes have the same values.
It will realign the indexes and columns if they are ordered differently.
- Parameters
df1 (DataFrame) –
df2 (DataFrame) –
- Returns
- Return type
bool
Todo
integrate into
mcda/core.adjacency_matrix.Matrix
- requires_graphviz(func)
Wrap a class or function that requires graphviz to function.
- Parameters
obj – either a class or function
- Raises
ImportError – if graphviz is not installed
- Returns
wrapped class or function