如何在Python中导入Excel文件列并找到它们之间的相关系数?
我在Excel文件中有很多数字列(例如,AAA、BBB、CCC、DDD和EEE)。 我需要将这些列导入Python,并找到每两列之间的相关系数。 仅显示相关系数在+0.5到+1和-0.5到-1之间的列如何在Python中导入Excel文件列并找到它们之间的相关系数?,excel,python-3.x,Excel,Python 3.x,我在Excel文件中有很多数字列(例如,AAA、BBB、CCC、DDD和EEE)。 我需要将这些列导入Python,并找到每两列之间的相关系数。 仅显示相关系数在+0.5到+1和-0.5到-1之间的列 import pandas as pd data = pd.read_excel('SO.xlsx') df = pd.DataFrame(data) df.corr() 这是一个非常简单的解决方案;我没有你的数据,所以我用我找到的样本数据做了。我们开始: import pandas as pd
import pandas as pd
data = pd.read_excel('SO.xlsx')
df = pd.DataFrame(data)
df.corr()
这是一个非常简单的解决方案;我没有你的数据,所以我用我找到的样本数据做了。我们开始:
import pandas as pd
data = pd.read_excel('https://global.oup.com/us/companion.websites/fdscontent/uscompanion/us/static/companion.websites/9780199734177/Example_1_rawdata.xls')
df = pd.DataFrame(data)
df.corr()
输出如下所示:
Hugs Comps PerAd SocAc ProAd ComSt PhyHlp Encour Tutor
Hugs 1.000000 0.666100 0.149995 0.616721 0.541132 0.653129 0.473344 0.549393 0.565627
Comps 0.666100 1.000000 0.247194 0.575720 0.509667 0.642069 0.424696 0.543826 0.487571
PerAd 0.149995 0.247194 1.000000 0.222337 0.081263 0.163510 0.090505 0.181000 0.120080
SocAc 0.616721 0.575720 0.222337 1.000000 0.409031 0.559579 0.338293 0.447923 0.348733
ProAd 0.541132 0.509667 0.081263 0.409031 1.000000 0.666905 0.733851 0.464976 0.754339
ComSt 0.653129 0.642069 0.163510 0.559579 0.666905 1.000000 0.595900 0.540038 0.671789
PhyHlp 0.473344 0.424696 0.090505 0.338293 0.733851 0.595900 1.000000 0.432037 0.717585
Encour 0.549393 0.543826 0.181000 0.447923 0.464976 0.540038 0.432037 1.000000 0.412042
Tutor 0.565627 0.487571 0.120080 0.348733 0.754339 0.671789 0.717585 0.412042 1.000000
如果添加以下内容,则将皮尔逊相关性低于0.5的所有值替换为空值:
df[df > 0.5]
请你给我们看看你到目前为止都做了些什么好吗?如果你想把它分成两部分——我会说使用熊猫库来导入你的数据,然后这里有一篇非常有用的文章告诉你如何使用numpy来计算相关性:非常感谢@Plato77,我必须计算出来,然后再回到这个问题上。我如何添加“df[df>0.5]”和“df[df<-0.5]”在代码中只显示从+0.5到+1和-0.5到-1的相关系数?