syntactic.make_dimnames

syntactic.make_dimnames(rownames: list[str] | None = None, colnames: list[str] | None = None) dict[str, list[str] | None]

Apply syntactic naming to row and/or column name vectors.

Equivalent to R’s makeDimnames: applies make_names() with unique=True to each supplied name vector.

Parameters:
  • rownames (list[str] or None) – Row names to sanitize. Returned unchanged (as None) when not provided.

  • colnames (list[str] or None) – Column names to sanitize. Returned unchanged (as None) when not provided.

Returns:

Mapping with keys "rownames" and "colnames", each either a sanitized list or None.

Return type:

dict

Examples

>>> make_dimnames(rownames=["Row 1", "Row 2"], colnames=["My Col"])
{'rownames': ['Row_1', 'Row_2'], 'colnames': ['My_Col']}
>>> make_dimnames(colnames=["Bad Name!", "Good"])
{'rownames': None, 'colnames': ['Bad_Name', 'Good']}