我正在pyspark.sql中使用DataFrame。为什么Ubuntu和Mac的输出不同?
我只使用10个文档,所以N = 10。我使用的公式是tf-idf = (1+log(tf))*log(N/df)
。因此,您实际上可以看到Mac提供了正确的输出,但是Ubuntu(在VM内)提供了错误的输出。
我的tf-idf列是FloatType()。我使用udf函数进行了计算。
Ubuntu输出:
Mac输出:
答案 0 :(得分:3)
正如您在注释中提到的那样,您在Ubuntu中使用python 2.7,在Mac中使用Python 3.6。您的pyspark代码进行了除法(/
)
在python3中
>>> 3/2
1.5
在python2中
>>> 3/2
1
查看this answer,了解有关python2与python3划分以及如何调整解释器行为的详细信息。