TypeError: ufunc ‘subtract‘ did not contain a loop with signature matching types dtype(‘<U32‘) dtype

最新推荐文章于 2023-03-09 15:56:18 发布
最新推荐文章于 2023-03-09 15:56:18 发布 阅读量1k for line in fr.readlines(): lineArr = line.strip().split() dataMat.append([1.0, float(lineArr[0]), float(lineArr[1])]) labelMat.append(lineArr[2]) return dataMat, labelMat def sigmoid(inX): return 1.0 / (1 + np.exp(-inX)) # 使用math.exp()会报错,因为inx是numpy类型的 def gradAscent(dataMatIn, classLabels): dataMatrix = np.mat(dataMatIn) labelMat = np.mat(classLabels).transpose() # transpose在不指定参数是默认是矩阵转置 # labelMat = np.mat(classLabels).T m, n = np.shape(dataMatrix) alpha = 0.001 maxCycles = 500 weights = np.ones((n, 1)) for k in range(maxCycles): h = sigmoid(dataMatrix * weights) # print(type(h)) # print(labelMat) # print(h) error = (labelMat - h) weights = weights + alpha * dataMatrix.transpose() * error return weights dataArr, labelMat = loadDataSet() # print(dataArr) # print(labelMat) print(gradAscent(dataArr, labelMat))

运行报错:

C:\Users\ktcuser\AppData\Local\Programs\Python\Python36-32\python.exe F:/Logistic/logistic.py
Traceback (most recent call last):
  File "F:/Logistic/logistic.py", line 41, in <module>
    print(gradAscent(dataArr, labelMat))
  File "F:/Logistic/logistic.py", line 33, in gradAscent
    error = (labelMat - h)
TypeError: ufunc 'subtract' did not contain a loop with signature matching types dtype('<U32') dtype('<U32') dtype('<U32')
Process finished with exit code 1

原因:
labelMat.append(int(lineArr[2])) #此处要转换一下为int 否则error = (labelMat - h) 报错

def loadDataSet():
    dataMat = []
    labelMat = []
    fr = open("testSet.txt")
    for line in fr.readlines():
        lineArr = line.strip().split()
        dataMat.append([1.0, float(lineArr[0]), float(lineArr[1])])
        labelMat.append(int(lineArr[2])) #此处要转换一下为int 否则error = (labelMat - h) 报错
        # labelMat.append(lineArr[2])
    return dataMat, labelMat
                    TypeError: ufunc ‘subtract‘ did not contain a loop with signature matching types dtype(‘<U32‘) dtype
                    Traceback (most recent call last):&lt;U9  File "F:/Logistic/logistic.py", line 44, in &lt;module&gt;    print(gradAscent(dataArr, labelMat))  File "F:/Logistic/logistic.py", line 36, in gradAscent    error = labelMat - hTypeError: ufunc 'subtract' di
最近利用Python读取txt文件时遇到了一个小问题,就是在计算两个np.narray()类型的数组时,出现了以下错误:
TypeError: ufunc 'subtract' did not contain a loop with signature matching types dtype('<U3') dtype('<U3') dtype('<U3')
作为一个Python新手,遇到这个问题后花费了挺多时间,在网上找了许多大神们写的例子,最后终于解决了。
总结如下: 
(1)出现此问题的原因是:目的是想计算两个数组间的差值,但数组中的元素不是数据类型(float
				
python报错ufunc 'subtract' did not contain a loop with signature matching types dtype('<U32') dtype('<U32') dtype('<U32') 前面有个warning:FutureWarning: Beginning in version 0.22, arrays of bytes/strings will be converted to decimal numbers if dtype='.
最近在测试分销的项目,每次手动计算分销员的佣金,感觉特别麻烦,所以想着用 python 来实现自动计算佣金,但是在计算过程中遇到一个问题,如下: 如图,在佣金矩阵计算相加的时候, numpy 抛了一个异常,这个异常在网上也没有找到相关资料。 于是我打断点看了一下,发现在计算的时候, list 中的数据,返回的是 str 类型,导致矩阵相加的时候,计算失败了。 然后我又去看了一下自己写的佣金计算规则的代码,需求中有个如果佣金金额大于两位小数的时候,会将数据四舍五入保留两位小数,但是保留两位小数
Python】ufunc 'subtract' did not contain a loop with signature matching types dtype
Python 出现错误TypeError: ‘NoneType’ object is not iterable解决办法 TypeError: ‘NoneType’ object is not iterable  这个错误提示一般发生在将None赋给多个值时。 def myprocess(): a == b if a != b: return True, value; flag, val = myprocess() 在判断语句中,当if条件不满足,并且没有else语句时,函数默认返回None。 在没有return语句时,Python也默认会返回None 调用时,将Non
在调整loss计算的时候遇到了TypeError: only integer tensors of a single element can be converted to an index这个问题,原来的计算公式为: self.loss_D = (self.loss_D_fake + self.loss_D_real) * 0.5 调整后的公式为: # train.lcf[train.lcfCountD]为修正系数 self.loss_D = (self.loss_D_fake + self.loss_D_real) * 0.5 * train.lcf[train.lcfCountD]
04-28 08:42:06.576 5425 5425 D AndroidRuntime: Shutting down VM 04-28 08:42:06.578 5425 5425 E AndroidRuntime: FATAL EXCEPTION: main 04-28 08:42:06.578 5425 5425 E AndroidRuntime: Process: jp.co.elmo.elmonote, PID: 5425 04-28 08:42:06.578 5425 5425
Linux常用编译指令总结1. nohup 不挂断运行命令2. touch 创建文件3.jobs -l 查看后台进程4. ps -ef5. find 路径 -name 文件名6.压缩解压缩命令7.文件长度8. kill 杀死进程9.关机重启10 top / who11. df /du参考文献 1. nohup 不挂断运行命令 ①退出终端后不会影响程序的运行,用于在系统后台不挂断的执行命令 ②英文全称no hang up,nohup 命令,在默认情况下(非重定向时),会输出一个名叫 nohup.out 的
编译过程报UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 23-24: ordinal not in range错误 安装python时默认的编码方式是ascii 程序中出现非ascii编码,python解释器报这样的错:UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position ,python解释器不能识别处理非ascii编码
TypeError: ufunc ‘multiply‘ did not contain a loop with signature matching types dtype(‘<U32‘) dtype UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 23-24: ordinal not in range neo .zhou: reload () 用于重新载入之前载入的模块 百度下哈 UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 23-24: ordinal not in range MURKOFF: reload是啥????? jira系统导出指定流程问题点 茶卡盐湖️: 导出当前域,看不到问题注释内容如何处理 K近邻算法ValueError: invalid literal for int() with base 10: ‘largeDoses‘ neo .zhou: 是的,下载了随书代码,自己敲的时候没有发现,后面调试案例发现字符和数值 学习了,感谢大佬 K近邻算法ValueError: invalid literal for int() with base 10: ‘largeDoses‘ [code=python] def detingClassTest(): #测试错误率detingClassTest(): hoRatio = 0.10 datingDataMat,datingLabels = file2matrix('datingTestSet2.txt') normMat,ranges,minVals = autoNorm(datingDataMat) m = normMat.shape[0] numTestVecs = int(m*hoRatio) errorCount = 0.0 for i in range(numTestVecs): classifierResult = classify0(normMat[i, : ],normMat[numTestVecs:m, : ],datingLabels[numTestVecs:m],3) print("the classifier came back with: %d,the real answer is: %d" % (classifierResult,datingLabels[i])) if (classifierResult != datingLabels[i]): errorCount += 1.0 print("the total error rate is: %f" % (errorCount/float(numTestVecs))) [/code]