Table of Contents
Utility functions for interacting with data
getter
getter(x, k: str, *args)
get an attribute (from an object) or key (from a dict-like object)
getter(x, k)
raise KeyError if k
not present
getter(x, k, default)
return default if k
not present
This is a convenience function that allows you to interact the same with an object or a dictionary
Parameters
x : object, dict
Item to get attribute from
k : str
Key or attribute name
default : optional
Default value if k
not present
Returns
val : object Associated value
remap
remap(x, mapping: dict)
Flatten a nested dictionary/object according to a specified name mapping.
Parameters
x : object, dict
An object or dict which can be treated as a nested dictionary, where
attributes can be accessed as:
attr = x.a.b['key_name']['other_Name'].d
Indexing list values is not implemented, e.g.:
x.a.b[3].d['key_name']
mapping : dict
Nested dictionary specifying the mapping. ONLY values specified in the
mapping will be returned.
For example:
.. code-block:: python
{'a': { 'b': { 'c': 'new_name' } }
could flatten x.a.b.c
or x.a['b']['c']
to x['new_name']
Returns
flat : OrderedDict A flattened ordered dictionary of values
get_valid_filename
get_valid_filename(s)
Return the given string converted to a string that can be used for a clean filename. Remove leading and trailing spaces; convert other spaces to underscores; and remove anything that is not an alphanumeric, dash, underscore, or dot.
.. code-block:: python
>>> from whylogs.util.data import get_valid_filename >>> get_valid_filename(" Background of tim's 8/1/2019 party!.jpg ")