如何使用 Python 比较每个列表元素的两个列表来计算百分比误差
How calculate percentage error by comparing two lists for each list's element using Python
我有两个列表,例如:
a = [12, 0.2112, 0.2335, 4, 523, -0.55556, 0.212] # accepted value
b = [10, -0.0222, 0.5534, 4, 522, -0.99922, 0.877] # experimental value
我想使用这个公式 -
|accepted value(a[i]) - experimental value(b[i])| \ accepted value(a[i]) x 100%,
得到这个结果:
c = [16.66, 110.51, 137.00, 0.00, 0.191, 78.59, 313.67]
如何在不使用 numpy
的情况下对两个列表执行此操作?
这可以用一个普通的循环来完成
c = [abs(i-j)/i*100 for i,j in zip(a,b)]
print(c)
如果 a
中有零,则可以通过包含 if-else 语句跳过这些(同时保持相同的长度):
c = [abs(i-j)/i*100 if i != 0 else None for i,j in zip(a,b)]
print(c)
我有两个列表,例如:
a = [12, 0.2112, 0.2335, 4, 523, -0.55556, 0.212] # accepted value
b = [10, -0.0222, 0.5534, 4, 522, -0.99922, 0.877] # experimental value
我想使用这个公式 -
|accepted value(a[i]) - experimental value(b[i])| \ accepted value(a[i]) x 100%,
得到这个结果:
c = [16.66, 110.51, 137.00, 0.00, 0.191, 78.59, 313.67]
如何在不使用 numpy
的情况下对两个列表执行此操作?
这可以用一个普通的循环来完成
c = [abs(i-j)/i*100 for i,j in zip(a,b)]
print(c)
如果 a
中有零,则可以通过包含 if-else 语句跳过这些(同时保持相同的长度):
c = [abs(i-j)/i*100 if i != 0 else None for i,j in zip(a,b)]
print(c)