我有以下代码可以帮助我重塑文件中的每一行并执行简单的除法计算。除以零时,发生此错误。非常感谢任何帮助。
print(np.sum(single / divisi * binary, axis = -1))
RuntimeWarning: divide by zero encountered in divide
print(np.sum(single / divisi * binary, axis = -1))
RuntimeWarning: invalid value encountered in multiply
代码
import numpy as np
from numpy import genfromtxt
import csv
binary = np.genfromtxt('binary.csv', delimiter = ',').reshape((-1, 101, 4))
single = np.genfromtxt('single.csv', delimiter = ',').reshape((-1, 4))
divisi = np.genfromtxt('divisi.csv', delimiter = ',').reshape((-1, 1, 4))
print(np.sum(single / divisi * binary, axis = -1))
包含这4行或代码仍然无法解决。
try:
print(np.sum(single / divisi * binary, axis = -1))
except Exception:
print(0)
答案 0 :(得分:1)
只需将print
放入try:except
这样的内容:
import numpy as np
from numpy import genfromtxt
import csv
binary = np.genfromtxt('binary.csv', delimiter = ',').reshape((-1, 101, 4))
single = np.genfromtxt('single.csv', delimiter = ',').reshape((-1, 4))
divisi = np.genfromtxt('divisi.csv', delimiter = ',').reshape((-1, 1, 4))
try:
print(np.sum(single / divisi * binary, axis = -1))
except Exception:
print(0) #or print whatever you want when you divide by zero
答案 1 :(得分:1)
这个怎么样:
if (divisi == 0):
print (0)
else:
print(np.sum(single / divisi * binary, axis = -1))
答案 2 :(得分:1)
我建议你阅读这个页面。 https://docs.python.org/2/tutorial/errors.html
据我所知,当出现零除错误时,建议使用下面的代码
try:
print(np.sum(single / divisi * binary, axis = -1))
except ZeroDivisionError as e:
print(0)