def coverage(self, parameter: str = None) -> float:
    """
    Calculate data coverage (overall or by parameter)
    """

    if parameter is None:
        return len(self._data.index) / self.expected_rows()

    return round(self._data[parameter].count() / self.expected_rows(), 2)

    Calculate data coverage (overall or by parameter)
    
meteostat/series/coverage.py