Python 3.x 如何在python中计算一组值的模值?
在一种材料中,我找到了一个计算精度的公式,如下所示 这里a和b是一组值。在网上搜索了很多次后,我发现模数意味着余数或绝对值。这里我将模数作为绝对值,上面公式的python代码如下Python 3.x 如何在python中计算一组值的模值?,python-3.x,modulus,Python 3.x,Modulus,在一种材料中,我找到了一个计算精度的公式,如下所示 这里a和b是一组值。在网上搜索了很多次后,我发现模数意味着余数或绝对值。这里我将模数作为绝对值,上面公式的python代码如下 import numpy as np def intersection(lst1, lst2): return list(set(lst1) & set(lst2)) a = [7,21] b = [11, 7, 27, 21] a_intersect_b=intersection(a,b) p
import numpy as np
def intersection(lst1, lst2):
return list(set(lst1) & set(lst2))
a = [7,21]
b = [11, 7, 27, 21]
a_intersect_b=intersection(a,b)
print(" a_intersect_b : ",a_intersect_b)
mod_a_intersect_b=[abs(x) for x in a_intersect_b]
print("|a_intersect_b| : ",mod_a_intersect_b)
mod_a=[abs(x) for x in a]
print("|a| : ",mod_a)
numerator=np.array(mod_a_intersect_b, dtype=np.float)
denominator=np.array(mod_a, dtype=np.float)
print(" mod_a_intersect_b / mod_a : ", numerator/denominator)
这里我得到2个输出值。但在材料和一般情况下,精度是单一值。如果列表大小增加,则输出值也会增加。最后我发现我误解了这里的意思。请指导我按照上述公式获得单个精度值。提前谢谢
注:在公式中,a和b是一组值。所以我在代码中使用了列表。另外,如果我使用其他选项在python中提到一组值,那么我可以得到单精度值 正如@Hoog在gis评论中提到的,精度情况下的模运算意味着某个集合的一个值(只是集合中的多个元素),因此您可以按照以下方式定义精度:
def precision(a, b):
"""
a: set, relevant items
b: set, retrieved items
returns: float, precision value
"""
return len(a & b) / len(a)
len(a)
返回集合元素的数量,即基数,a
操作
如果a
,b
是列表,只需先将它们打包:
def precision(a, b):
"""
a: set, relevant items
b: set, retrieved items
returns: float, precision value
"""
a, b = set(a), set(b)
return len(a & b) / len(a)
此外,在数据科学和相关领域,精度是计算比率的一种度量标准。
“真阳性”/(“真阳性”+“假阳性”)
。这与其他术语中描述的情况相同,但精度的标准实现对您没有帮助。正如@Hoog在gis评论中提到的,精度情况下的模运算意味着某个集合的a(只是集合中的一些元素),因此您可以定义如下精度:
def precision(a, b):
"""
a: set, relevant items
b: set, retrieved items
returns: float, precision value
"""
return len(a & b) / len(a)
len(a)
返回集合元素的数量,即基数,a
操作
如果a
,b
是列表,只需先将它们打包:
def precision(a, b):
"""
a: set, relevant items
b: set, retrieved items
returns: float, precision value
"""
a, b = set(a), set(b)
return len(a & b) / len(a)
此外,在数据科学和相关领域,精度是计算比率的一种度量标准。
“真阳性”/(“真阳性”+“假阳性”)
。这与其他术语中描述的情况相同,但精度的标准实现对您没有帮助。模数和绝对值是两个截然不同的东西3%2=1
显示模数运算符(%
)的工作状态。绝对值仅取1个数字并返回一个正值:abs(-3)=3
。根据您对精度的定义,如果看起来像绝对值:a
除了返回a
中每个元素的绝对值列表之外,还应该执行其他操作,我不会感到惊讶。也许它在寻找每套的尺寸?谢谢你的回复。根据你的说法,我能理解模数的两种不同含义。但据我所知,每组的大小可能不是计算精度的正确逻辑。所以如果可能的话,试着给我一些其他的选择。。谢谢。我能告诉你的是,取每个元素的绝对值不会给你1个精度数字。在集合论中,双行|a |
可以用来表示集合a
的基数,即集合中元素的数量。我想这就是人们所要求的,但也许你们可以得到更多的信息。模数和绝对值是两个完全不同的东西3%2=1
显示模数运算符(%
)的工作状态。绝对值仅取1个数字并返回一个正值:abs(-3)=3
。根据您对精度的定义,如果看起来像绝对值:a
除了返回a
中每个元素的绝对值列表之外,还应该执行其他操作,我不会感到惊讶。也许它在寻找每套的尺寸?谢谢你的回复。根据你的说法,我能理解模数的两种不同含义。但据我所知,每组的大小可能不是计算精度的正确逻辑。所以如果可能的话,试着给我一些其他的选择。。谢谢。我能告诉你的是,取每个元素的绝对值不会给你1个精度数字。在集合论中,双行|a |
可以用来表示集合a
的基数,即集合中元素的数量。我想这就是人们所要求的,但也许你可以得到更多的信息。根据公式,你的答案是正确的。但是,我的输入值得到了不同的值。所以,我想集中我的输入值。非常感谢您宝贵的回复。那么,有什么区别呢?a=[7,21]
,b=[11,7,27,21]
示例是否正确?根据我的情况,a列表中的值在b列表中始终可用。所以“return len(a&b)/len(a)”总是给我1.0的精度。所以我只提到我要集中我的输入值。谢谢..只有当seta
等于setb
时,精度为1.0的值才可能。在这种情况下,精度实际上是1.0,在本讨论中,我们使用的“len(a&b)/len(a)”只不过是set(a&b)始终等于set a。因此,对于我的输入,只有精度始终为1.0。感谢您宝贵的建议和花费的时间。根据公式,您的答案是正确的。但是,我的输入值得到了不同的值。所以,我想集中我的输入值。非常感谢您宝贵的回复。那么,有什么区别呢?a=[7,21]
,b=[11,7,27,21]
示例是否正确?根据我的情况,a列表中的值在b列表中始终可用。所以“return len(a&b)/len(a)”总是给我1.0的精度。所以我只提到我要集中我的输入值。谢谢..只有当seta
等于setb
时,精度为1.0的值才可能。在这种情况下,精度实际上是1.0,在本讨论中,我们使用的“len(a&b)/len(a)”只不过是set(a&b)始终等于set a。等等