在numpy中,可以使用np.unique()
函数获取数组中的唯一值,并使用np.sum()
函数对分组项进行求和,而不需要进行循环。
下面是一个完整的示例代码:
import numpy as np
# 创建一个numpy数组
arr = np.array([1, 1, 2, 2, 3, 3, 4, 4])
values = np.array([10, 20, 30, 40, 50, 60, 70, 80])
# 使用np.unique()函数获取唯一值和对应的索引
unique_values, unique_indices = np.unique(arr, return_inverse=True)
# 使用np.bincount()函数对分组项进行求和
sums = np.bincount(unique_indices, weights=values)
print(sums)
输出结果为:
[30 70 110 150]
在这个例子中,我们首先使用np.unique()
函数获取了数组arr
中的唯一值和对应的索引。然后,我们使用np.bincount()
函数对索引进行计数,并使用weights
参数将对应的值values
传递进去,实现对分组项的求和。最后,我们得到了每个分组项的求和结果。
对于这个问题,腾讯云提供了一系列适用于云计算的产品和服务。其中,腾讯云的云服务器、云数据库、云存储等产品可以满足云计算中的服务器运维、数据库、存储等需求。此外,腾讯云还提供了人工智能、物联网、移动开发等相关产品和服务,以支持更广泛的应用场景。
更多关于腾讯云产品的信息,您可以访问腾讯云官方网站:https://cloud.tencent.com/
领取专属 10元无门槛券
手把手带您无忧上云