为什么Terminal和Sublime的结果不同,而Python脚本却完全相同?

为什么Terminal和Sublime的结果不同,而Python脚本却完全相同?,python,statistics,sublimetext,correlation,Python,Statistics,Sublimetext,Correlation,我有一个包含两列数据的csv文件,试图用Python计算他们的Spearman相关系数。这是我的密码: file = open('last_2.csv') records = file.readlines() items = [] groups = [] readership = [] for each in records: items = each.strip().split(',') readership.append(items[0]) groups.append

我有一个包含两列数据的csv文件,试图用Python计算他们的Spearman相关系数。这是我的密码:

file = open('last_2.csv')
records = file.readlines()
items = []
groups = []
readership = []
for each in records:
    items = each.strip().split(',')
    readership.append(items[0])
    groups.append(items[1])

import scipy.stats
cc = scipy.stats.spearmanr(readership,groups)
print (cc)

在终端中运行它们时(我使用的是mac),结果返回(0.3745301276716122,0.0);在用升华建造它们时,它返回(0.18597808700272841,0.0)。它们不一样。为什么会发生这种情况,哪一个是正确的结果?

可能是不同的工作目录。您正在读取不同的文件。或者您正在导入不同版本的
scipy
库。使用
os.getcwd()
(并使用绝对路径而不是相对路径)和
import scipy进行验证;打印(scipy.\uuuu version\uuuuu)
。上一个\u 2.csv文件的示例感谢@MartijnPieters,我的scipy版本是终端的“0.14.1rc1”,升华的“0.11.0”。现在我想知道版本的差异是如何影响结果的?不管怎么说,斯皮尔曼的相关性计算的算法是一样的,对吧?@Huiqin:旧版本可能有错误。您正在终端和Sublime中使用不同的Python二进制文件。有关如何更改所使用的Python版本的信息,请参见。