用法:
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。