用法:
DataFrameGroupBy.cov(ddof=1, split_every=None, split_out=1, std=False)
计算列的成对协方差,不包括 NA/null 值。
此文档字符串是从 pandas.core.frame.DataFrame.cov 复制而来的。
可能存在与 Dask 版本的一些不一致之处。
Groupby 协方差由以下方式完成
计算所有列的总和、计数和乘积的中间值:a b c -> a*a、a*b、b*b、b*c、c*c。
然后聚合这些值并计算最终的协方差值:cov(X, Y) = X*Y - Xbar * Ybar
当
std
为真时计算相关性计算数据帧系列之间的成对协方差。返回的数据帧是DataFrame的列的covariance matrix。
NA 和 null 值都会自动从计算中排除。 (请参阅下面关于缺失值偏差的注释。)可以为创建的每个值的最小观察次数设置阈值。与低于此阈值的观察结果的比较将返回为
NaN
。这种方法一般用于时间序列数据的分析,以了解不同测度在时间上的关系。
- min_periods:int,可选(在 Dask 中不支持)
每对列所需的最小观察次数以获得有效结果。
- ddof:整数,默认 1
Delta 自由度。计算中使用的除数是
N - ddof
,其中N
表示元素的数量。
- DataFrame
DataFrame 系列的协方差矩阵。
参数:
返回:
注意:
返回 DataFrame 时间序列的协方差矩阵。协方差由N-ddof 归一化。
对于具有缺失数据的 Series 的 DataFrame(假设数据为 missing at random ),返回的协方差矩阵将是成员 Series 之间的方差和协方差的无偏估计。
但是,对于许多应用程序,此估计可能不可接受,因为估计协方差矩阵不能保证为正semi-definite。这可能导致估计具有大于一的绝对值的相关性,和/或不可逆的协方差矩阵。有关详细信息,请参阅Estimation of covariance matrices。
例子:
>>> 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
相关用法
- Python dask.dataframe.groupby.DataFrameGroupBy.corr用法及代码示例
- Python dask.dataframe.groupby.DataFrameGroupBy.cumcount用法及代码示例
- Python dask.dataframe.groupby.DataFrameGroupBy.aggregate用法及代码示例
- Python dask.dataframe.groupby.DataFrameGroupBy.idxmin用法及代码示例
- Python dask.dataframe.groupby.DataFrameGroupBy.idxmax用法及代码示例
- Python dask.dataframe.groupby.DataFrameGroupBy.rolling用法及代码示例
- Python dask.dataframe.groupby.DataFrameGroupBy.mean用法及代码示例
- Python dask.dataframe.groupby.SeriesGroupBy.nunique用法及代码示例
- Python dask.dataframe.groupby.SeriesGroupBy.rolling用法及代码示例
- Python dask.dataframe.groupby.SeriesGroupBy.aggregate用法及代码示例
- Python dask.dataframe.groupby.SeriesGroupBy.cumcount用法及代码示例
- Python dask.dataframe.groupby.Aggregation用法及代码示例
- Python dask.dataframe.groupby.SeriesGroupBy.idxmin用法及代码示例
- Python dask.dataframe.groupby.SeriesGroupBy.mean用法及代码示例
- Python dask.dataframe.groupby.SeriesGroupBy.idxmax用法及代码示例
- Python dask.dataframe.Series.apply用法及代码示例
- Python dask.dataframe.to_records用法及代码示例
- Python dask.dataframe.DataFrame.applymap用法及代码示例
- Python dask.dataframe.Series.clip用法及代码示例
- Python dask.dataframe.Series.prod用法及代码示例
注:本文由纯净天空筛选整理自dask.org大神的英文原创作品 dask.dataframe.groupby.DataFrameGroupBy.cov。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。