NumPy 按列中的值求和行
在本文中,我们将介绍如何使用NumPy按列中的值对行进行求和。假设我们有一个数组,其中包含多个列和行。现在我们要根据某个列中的特定值对行进行求和。下面的示例将说明如何实现此目标。
import numpy as np
# 创建示例数组
arr = np.array([[1, 1, 2],
[2, 1, 3],
[3, 2, 4],
[4, 2, 5],
[5, 3, 6]])
# 按第二列的值对第一列的值求和
unique_values = np.unique(arr[:, 1]) # 获取唯一值
result = []
for value in unique_values:
# 获取该值下所有的行
indices = np.where(arr[:, 1] == value)[0]
# 对该值下所有的行按第一列的值求和
sum_of_values = np.sum(arr[indices, 0])
result.append([value, sum_of_values])
result = np.array(result)
print(result)
以上代码将输出以下结果:
[[ 1 2]
[ 2 7]
[ 3 5]]
此示例数组包含三列和五行。我们想按第二列的值对第一列的值进行求和。对于每个唯一值(1、2和3)在第一列下都有一行。在示例中,第一列的求和结果为:2、7和5。
使用NumPy的unique函数从第二列中获取唯一值。然后,我们需要迭代这些值,并对每个值下的行进行求和。为了获取该值下的所有行,我们可以使用NumPy的where函数获取索引。使用NumPy的sUm函数对第一列下的所有行进行求和。
最后,我们将结果放入一个数组并打印它。
阅读更多:Numpy 教程
总结
本文介绍了如何使用NumPy按列中的值对行进行求和。我们通过使用NumPy的unique和where函数以及sUm函数来实现此目标。这可以帮助我们在处理具有多个列和行的数据时轻松地进行分组操作。希望读者对此有所了解,这对于数据分析和机器学习等领域具有重要意义。
极客教程