'Add Covariance taking into account number of degrees of freedom.'

def __iadd__(self, cov):

    _check_covs_algebra(self, cov)
    self['data'][:] = (((self['data'] * self['nfree']) + (cov['data'] * cov['nfree'])) / (self['nfree'] + cov['nfree']))
    self['nfree'] += cov['nfree']
    self['bads'] = list(set(self['bads']).union(cov['bads']))
    return self
