Python:如何启用零除并返回零值?

Python:如何启用零除并返回零值?,python,division,divide-by-zero,Python,Division,Divide By Zero,下面的代码可以帮助我重新塑造文件中的每一行,并执行简单的除法计算。当除以零时,发生此错误。非常感谢您的帮助 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 encountere

下面的代码可以帮助我重新塑造文件中的每一行,并执行简单的除法计算。当除以零时,发生此错误。非常感谢您的帮助

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)  

只需将您的
打印
放在
中,然后尝试:除此之外,如下所示:

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

只需将您的
打印
放在
中,然后尝试:除此之外,如下所示:

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
这个怎么样:

if (divisi == 0):
    print (0)
else:
    print(np.sum(single / divisi * binary, axis = -1))
这个怎么样:

if (divisi == 0):
    print (0)
else:
    print(np.sum(single / divisi * binary, axis = -1))

我建议你阅读这一页

据我所知,当发生零除错误时,建议使用以下代码

try:
    print(np.sum(single / divisi * binary, axis = -1))
except ZeroDivisionError as e:
    print(0)

我建议你阅读这一页

据我所知,当发生零除错误时,建议使用以下代码

try:
    print(np.sum(single / divisi * binary, axis = -1))
except ZeroDivisionError as e:
    print(0)
此页面的可能副本可能对您有所帮助。这一页可能会对你有所帮助。