我正试图运行这一行:
print(np.log2( (ngram_list.count(('i',)) + 1 )/( 100000 + len(set(n1gram_list)) )))
当我从终端运行我的脚本时,我得到-1.54814270552。 但是当我通过subprocess.Popen运行相同的脚本时,我得到-inf。 基本上每当log2的输出为正时,我在两种方法中得到正确的输出,但对于负值,我只有在使用Popen时才得到-inf。
答案 0 :(得分:0)
在使用Popen
时,您似乎正在使用Python 2,而from __future__ import division
使用整数除法。
使用100000 + len(set(n1gram_list))
,将<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
</beans>
转换为float,或者调用Python 3。