Return arrays with equal size of item attributes from a list of sorted
    "items" for fast and convenient data processing.

    :param attr: list of item attributes that should be added to the returned
        array.
    :param defaultValue: if an item is missing an attribute, the "defaultValue"
        is added to the array instead.

    :returns: {'attribute1': numpy.array([attributeValue1, ...]), ...}

def _getArrays(items, attr, defaultValue):
    """Return arrays with equal size of item attributes from a list of sorted
    "items" for fast and convenient data processing.

    :param attr: list of item attributes that should be added to the returned
        array.
    :param defaultValue: if an item is missing an attribute, the "defaultValue"
        is added to the array instead.

    :returns: {'attribute1': numpy.array([attributeValue1, ...]), ...}
    """
    arrays = dict([(key, []) for key in attr])
    for item in items:
        for key in attr:
            arrays[key].append(getattr(item, key, defaultValue))
    for key in [_ for _ in viewkeys(arrays)]:
        arrays[key] = numpy.array(arrays[key])

    return arrays