pandas.core.groupby.DataFrameGroupBy.cov
- propertyDataFrameGroupBy.cov[source]
-
Вычислить парную ковариацию столбцов, исключая значения NA/null.
Вычислить парную ковариацию между сериями DataFrame. Возвращаемая таблица — это матрица ковариаций столбцов DataFrame.
Как NA, так и нулевые значения автоматически исключаются из вычислений. (См. примечание ниже о смещении из-за отсутствующих значений.) Можно установить порог для минимального количества наблюдений для каждого созданного значения. Сравнения с наблюдениями ниже этого порога будут возвращены как
NaN.Этот метод обычно используется для анализа временных рядов, чтобы понять взаимосвязь между различными показателями во времени.
- Параметры
-
- min_periods:int, необязательно
-
Минимальное количество наблюдений, необходимое для каждой пары столбцов для получения достоверного результата.
- ddof:int, по умолчанию 1
-
Дельта степеней свободы. Знаменатель, используемый в расчетах, равен
N - ddof, гдеNпредставляет число элементов.Добавлена в версии 1.1.0.
- numeric_only:bool, по умолчанию True
-
Включать только данные типа float, int или boolean.
Добавлена в версии 1.5.0.
Устарело начиная с версии 1.5.0: Значение по умолчанию для
numeric_onlyбудетFalseв будущей версии pandas.
- Возвращает
-
- DataFrame
-
Матрица ковариаций серий DataFrame.
См. также
Series.cov-
Вычислить ковариацию с другой серией.
core.window.ewm.ExponentialMovingWindow.cov-
Экспоненциально взвешенная выборочная ковариация.
core.window.expanding.Expanding.cov-
Расширяющая выборочная ковариация.
core.window.rolling.Rolling.cov-
Перемещающая выборочная ковариация.
Примечания
Возвращает матрицу ковариаций временных рядов DataFrame. Ковариация нормирована на N-ddof.
Для DataFrame, у которого есть серии с отсутствующими данными (предполагается, что данные случайно отсутствуют), возвращаемая матрица ковариаций будет несмещенной оценкой дисперсии и ковариации между членами серии.
Однако для многих приложений эта оценка может быть неприемлемой, потому что матрица оцениваемой ковариации не гарантируется как положительно полуопределенная. Это может привести к тому, что оценки корреляций будут иметь абсолютные значения, превышающие единицу, и/или к необратимой матрице ковариаций. См. Оценка матриц ковариаций для получения более подробной информации.
Примеры
>>> 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
© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/1.5.0/reference/api/pandas.core.groupby.DataFrameGroupBy.cov.html