作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有特征之间相关性的 df
。
CRIM ZN INDUS CHAS NOX RM AGE
CRIM 1.000000 -0.199458 0.404471 -0.055295 0.417521 -0.219940 0.350784
ZN -0.199458 1.000000 -0.533828 -0.042697 -0.516604 0.311991 -0.569537
INDUS 0.404471 -0.533828 1.000000 0.062938 0.763651 -0.391676 0.644779
CHAS -0.055295 -0.042697 0.062938 1.000000 0.091203 0.091251 0.086518
NOX 0.417521 -0.516604 0.763651 0.091203 1.000000 -0.302188 0.731470
RM -0.219940 0.311991 -0.391676 0.091251 -0.302188 1.000000 -0.240265
AGE 0.350784 -0.569537 0.644779 0.086518 0.731470 -0.240265 1.000000
DIS -0.377904 0.664408 -0.708027 -0.099176 -0.769230 0.205246 -0.747881
我想要的是 corr()
的字典,其值是 gt(0.5) 和 ne(1)
以及负值 corr()
lt(0.5)
我试过了
df.corr()[(df.corr().gt(0.5)) & (df.corr().ne(1))].stack().round(3).to_dict()
这给了我特征 gt(0.5)
和 ne(1)
之间的所有正 corr()
但我还需要强负 corr()
le(0.5)
在字典中?
还有什么方法可以获得唯一值?
在结果中我需要唯一值。 ZN - NOX
和 NOX - ZN
应该被视为一个。我在字典中得到了两者?
最佳答案
df.corr()[((df.corr().gt(0.5)) & (df.corr().ne(1))) | ((df.corr().lt(-0.5)) & (df.corr().ne(-1)))].stack().round(3).to_dict()
编辑(更高效和可读):
df_corr = df.corr()
high_positive_corr = (df_corr.gt(0.5)) & (df_corr.ne(1))
low_negative_corr = (df_corr.lt(-0.5)) & (df_corr.ne(-1))
df_corr[high_positive_corr | low_negative_corr].stack().round(3).to_dict()
所以你不用计算相关性 5 次
关于python - 获得字典中特征之间的正相关和负相关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52537432/
我是一名优秀的程序员,十分优秀!