pandas.DataFrame.cov#
- DataFrame.cov(min_periods=None, ddof=1, numeric_only=False)[источник]#
Вычислить попарную ковариацию столбцов, исключая значения NA/null.
Вычислите попарную ковариацию между рядами DataFrame. Возвращаемый датафрейм - это ковариационная матрица столбцов DataFrame.
И значения NA, и нулевые значения автоматически исключаются из расчёта. (См. примечание ниже о смещении из-за пропущенных значений.) Можно установить порог для минимального количества наблюдений для каждого созданного значения. Сравнения с наблюдениями ниже этого порога будут возвращены как
NaN.Этот метод обычно используется для анализа данных временных рядов, чтобы понять взаимосвязь между различными показателями во времени.
- Параметры:
- min_periodsint, необязательный
Минимальное количество наблюдений, требуемое для каждой пары столбцов, чтобы получить допустимый результат.
- ddofint, по умолчанию 1
Дельта степеней свободы. Делитель, используемый в вычислениях, равен
N - ddof, гдеNпредставляет количество элементов. Этот аргумент применим только когда нетnanнаходится в датафрейме.- numeric_onlybool, по умолчанию False
Включите только float, int или логический data.
Добавлено в версии 1.5.0.
Изменено в версии 2.0.0: Значение по умолчанию для
numeric_onlyтеперьFalse.
- Возвращает:
- DataFrame
Ковариационная матрица серии DataFrame.
Смотрите также
Series.covВычислить ковариацию с другой Series.
core.window.ewm.ExponentialMovingWindow.covЭкспоненциально взвешенная выборочная ковариация.
core.window.expanding.Expanding.covРасширяющаяся выборочная ковариация.
core.window.rolling.Rolling.covСкользящая выборочная ковариация.
Примечания
Возвращает ковариационную матрицу временного ряда DataFrame. Ковариация нормируется на N-ddof.
Для DataFrame, содержащих Series с отсутствующими данными (предполагая, что данные пропущенные случайным образом) возвращаемая ковариационная матрица будет несмещенной оценкой дисперсии и ковариации между членами Series.
Однако для многих приложений эта оценка может быть неприемлемой, поскольку оценочная ковариационная матрица не гарантированно является положительно полуопределённой. Это может привести к тому, что оценочные корреляции будут иметь абсолютные значения больше единицы и/или необратимую ковариационную матрицу. См. Оценка ковариационных матриц для получения дополнительной информации.
Примеры
>>> df = pd.DataFrame([(1, 2), (0, 3), (2, 0), (1, 1)], ... columns=['dogs', 'cats']) >>> df.cov() dogs cats dogs 0.666667 -1.000000 cats -1.000000 1.666667
>>> np.random.seed(42) >>> df = pd.DataFrame(np.random.randn(1000, 5), ... columns=['a', 'b', 'c', 'd', 'e']) >>> df.cov() a b c d e a 0.998438 -0.020161 0.059277 -0.008943 0.014144 b -0.020161 1.059352 -0.008543 -0.024738 0.009826 c 0.059277 -0.008543 1.010670 -0.001486 -0.000271 d -0.008943 -0.024738 -0.001486 0.921297 -0.013692 e 0.014144 0.009826 -0.000271 -0.013692 0.977795
Минимальное количество периодов
Этот метод также поддерживает необязательный
min_periodsключевое слово которое указывает минимальное требуемое количество не-NA наблюдений для каждой пары столбцов, чтобы получить корректный результат:>>> np.random.seed(42) >>> df = pd.DataFrame(np.random.randn(20, 3), ... columns=['a', 'b', 'c']) >>> df.loc[df.index[:5], 'a'] = np.nan >>> df.loc[df.index[5:10], 'b'] = np.nan >>> df.cov(min_periods=12) a b c a 0.316741 NaN -0.150812 b NaN 1.248003 0.191417 c -0.150812 0.191417 0.895202