[+] Division ignoring zeros
This commit is contained in:
@@ -246,6 +246,28 @@ def parse_date(iso: str) -> datetime:
|
|||||||
int(iso[11:13]), int(iso[14:16]), int(iso[17:19]))
|
int(iso[11:13]), int(iso[14:16]), int(iso[17:19]))
|
||||||
|
|
||||||
|
|
||||||
|
def divide_zeros(numerator: list[float], denominator: list[float]) -> list[float]:
|
||||||
|
"""
|
||||||
|
Divide two lists of floats, ignoring zeros (anything dividing by zero will produce zero)
|
||||||
|
|
||||||
|
Preconditions:
|
||||||
|
- len(numerator) == len(denominator)
|
||||||
|
|
||||||
|
:param numerator: Numerator
|
||||||
|
:param denominator: Denominator
|
||||||
|
:return: A list where list[i] = numerator[i] / denominator[i]
|
||||||
|
"""
|
||||||
|
output = np.zeros(len(numerator), float)
|
||||||
|
for i in range(len(numerator)):
|
||||||
|
if denominator[i] == 0:
|
||||||
|
output[i] = 0
|
||||||
|
else:
|
||||||
|
output[i] = numerator[i] / denominator[i]
|
||||||
|
# This marks it as incorrect type but it's actually not incorrect type, just because numpy
|
||||||
|
# doesn't specify its return types
|
||||||
|
return output.tolist()
|
||||||
|
|
||||||
|
|
||||||
class EnhancedJSONEncoder(json.JSONEncoder):
|
class EnhancedJSONEncoder(json.JSONEncoder):
|
||||||
def default(self, o):
|
def default(self, o):
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user