p1Vect = math.log(p1Num/p1Denom)
#TypeError: only length-1 arrays can be converted to Python scalars
#查看数据类型
type(p1Num)
#<class 'numpy.ndarray'>
type(p1Denom)
<class 'float'>
修改后:
import numpy as np
p1Vect = np.log(p1Num/p1Denom)
UnicodeDecodeError: ‘utf8’ codec can’t decode byte 0x9c
问题代码:
#1
text=open("Ch04/email/ham/6.txt", "r",encoding='utf-8').read()
print(text)
#UnicodeDecodeError: 'utf-8' codec can't decode byte 0x92 in position 884: invalid start byte
#2
import codecs
emailtext=codecs.open("Ch04/email/ham/6.txt", "r",encoding='utf-8').read()
print(emailtext)
#UnicodeDecodeError: 'utf-8' codec can't decode byte 0x92 in position 884: invalid start byte
修改后:
#尝试以下两种方式,发现造成错误的原因是errors='ignore'的添加与否
#方式一:
emailtext=open("Ch04/email/ham/6.txt", "r",encoding='utf-8', errors='ignore').read()
print(emailtext)
#方式二:
import codecs
emailtext=codecs.open("Ch04/email/ham/6.txt", "r",encoding='utf-8', errors='ignore').read()
print(emailtext)
TypeError: ‘range’ object doesn’t support item deletion
问题代码:
trainingSet = range(21)
print("1 ",trainingSet,type(trainingSet))
# 1 range(0, 21) <class 'range'>
del(trainingSet[2])
# TypeError: 'range' object doesn't support item deletion
修改后:
#将数据类型(range)列表化
trainingSet = list(range(21))
print("2 ",trainingSet)
# 2 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
del(trainingSet[2])
print("3 ",trainingSet)
# 3 [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]