大Pandas相关性与统计显著性回归:(nan,1.0)

2024-09-28 22:32:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我想检查pandas数据帧中多个列之间的相关性和重要性。在

利用以下数据帧,我构建了以下相关表:

      ARI     Flesch    Kincaid       time  VIX_close  FEDFUNDS  
-2.090000        NaN  -3.400000 2016-02-04  20.239333  0.345333      
16.060272  38.489788  14.355616 2016-02-04  20.239333  0.345333  

Correlation Table

当我使用下面的代码运行Kincaid和其他变量时,一切都很好:

^{pr2}$

但是,当我对其他变量运行类似的代码时:

stats.pearsonr(master.ARI,master.VIX_close)

我得到以下输出:

(nan, 1.0)

我明白,如果ARI的方差,这个输出是可以理解的,但是事实并非如此——ARI与Kincaid非常相似。。。在

另外一个问题是:有没有必要一次性对整个相关表进行显著性检验?提前谢谢。在


Tags: 数据master利用pandasclosetimenan重要性
1条回答
网友
1楼 · 发布于 2024-09-28 22:32:15

Pandas有一个内置的相关函数,可以针对整个数据帧运行

https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.corr.html

也许就跑吧主校正()

计算所有组合:

import itertools
from scipy.stats import ttest_ind, pearsonr
columns_combinations = [c for c in itertools.combinations(master.columns,2)]
pearson_calc_df = pd.DataFrame([pearsonr(master[c[0]], master[c[1]]) for c in columns_combinations], 
                               index=columns_combinations)
ttest_calc_df = pd.DataFrame([ttest_ind(master[c[0]], master[c[1]]) for c in columns_combinations], 
                              index=columns_combinations)

方差为零,尽管相关系数仍然为。在

相关问题 更多 >