gpt4 book ai didi

python - numpy 数组中每行的选择列的平均值

转载 作者:太空宇宙 更新时间:2023-11-03 18:04:56 24 4
gpt4 key购买 nike

我有一个名为 values 的 numpy 数据矩阵,有 9000 行 x 49 列。我想计算每行前 14 列的平均值,并将其输出为具有相同行数的数组(即 9000,与 len(values) 相同)。

import numpy

av15=[]
a = int()
for i in range(len(values)):
for x in range(0,14):
a += values[i,x]
b = a/14
av15.append(b)

av15 = numpy.array(av15)
av15 = av15.reshape([len(values),1])
numpy.savetxt("av15.txt",av15, delimiter = "\t")

我的代码仅正确计算第一行的平均值,从那里开始值不正确。我找不到问题所在,但一定有一些我似乎找不到的逻辑错误。有人能找到它吗?

谢谢

最佳答案

原始函数的问题是您没有在迭代之间重置累加器a。重用您可以执行的语法:

for i in range(len(values)):
a = int()
for x in range(0, 14):
a += values[i, x]

或者由于 Python 不是强类型语言,因此使用更清晰的:

for i in range(len(values)):
a = 0
for x in range(0, 14):
a += values[i, x]

无论哪种方式,适合您所追求的 numpy 构造都是这个简单而高效的单行代码:

av15 = np.mean(values[:, :14]).reshape(-1, 1)

关于python - numpy 数组中每行的选择列的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27074224/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com