mergeDatasets

utils.mergeDatasets(data, extend=False)[source]

Take a list of dictionaries and turn it into a dictionary of lists of objects

Parameters:
  • data (list of dicts containing strings, lists or numbers) –
  • extend (bool, optional) – If lists should be extended rather than appended. Default False
Returns:

newStore – For each key a list will be formed of the former key values. If a data set did not contain a key a value of None will be entered for it.

Return type:

dictionary of lists of objects

Examples

>>> data = [{'a':[1, 2, 3], 'b':[7, 8, 9]}, {'b':[4, 5, 6], 'c':'string', 'd':5}]
>>> mergeDatasets(data)
{'a': [[1, 2, 3], None], 'c': [None, 'string'], 'b': [[7, 8, 9], [4, 5, 6]], 'd': [None, 5]}
>>> mergeDatasets(data, extend=True)
{'a': [1, 2, 3, None], 'c': [None, 'string'], 'b': [7, 8, 9, 4, 5, 6], 'd': [None, 5]}
 >>> data = [{'b': np.array([[7, 8, 9], [1, 2, 3]])}, {'b': np.array([[4, 5, 6], [2, 3, 4]])}]
 >>> mergeDatasets(data, extend = True)
 {'b': [array([7, 8, 9]), array([1, 2, 3]), array([4, 5, 6]), array([2, 3, 4])]}
 >>> mergeDatasets(data)
 {'b': [array([[7, 8, 9], [1, 2, 3]]), array([[4, 5, 6], [2, 3, 4]])]}