[英]Get Centroid from Sequence in N-Dimensions
我正在嘗試獲取 n 維系列的質心。
這是我嘗試過的:
def get_centroid(point1, point2):
return sum((q + p) / 2 for p, q in zip(point1, point2))
p = [1, 2, 3, 4, 5, 6, 7]
q = [2, 3, 4, 5, 6, 7, 8]
get_centroid(p, q)
Out[18]: 31.5
但我想要得到的是:
Out[]: [1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5]
我在這里想念什么?
提前致謝。
使用列表理解而不是sum
function 因為:
sum
返回可迭代的所有元素的總和,因此它現在返回平均值的總和嘗試以下操作:
代碼
def get_centroid(point1, point2):
return [(q + p) / 2 for p, q in zip(point1, point2)]
p = [1, 2, 3, 4, 5, 6, 7]
q = [2, 3, 4, 5, 6, 7, 8]
print(get_centroid(p, q))
Output
[1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.