gpt4 book ai didi

python - 使用 Numpy 获取矩阵中数组的平均值

转载 作者:太空宇宙 更新时间:2023-11-04 06:34:00 25 4
gpt4 key购买 nike

columnFour = [data[0::, 1] == 1, data[0::, 4]]

数据是一个表格,1 是我选择的变量(它等于 1),4 是我试图绘制到一维数组中的变量。

第4列中的某些值是空白(''),我从python中得到的错误如下:

Traceback (most recent call last):
File "<filename>", line 62, in <module>
print np.mean(age, dtype=float);
File "D:\Python27\lib\site-packages\numpy\core\fromnumeric.py", line 2373, in mean
return _wrapit(a, 'mean', axis, dtype, out)
File "D:\Python27\lib\site-packages\numpy\core\fromnumeric.py", line 37, in _wrapit
result = getattr(asarray(obj),method)(*args, **kwds)
File "D:\Python27\lib\site-packages\numpy\core\numeric.py", line 235, in asarray
return array(a, dtype, copy=False, order=order)
ValueError: cannot set an array element with a sequence

如何选择第 4 列中的所有非空数字,或选择所有包括那些空值的数字?我宁愿全选,但两者都行。我正在尝试计算第 4 列中数据的平均值以重新插入空值,但对不同的第 1 列值进行平均。

例如,column 1 == 1 处的第 4 列中的所有数字将得到平均值,然后 column 1 == 1 处的空值将得到该平均值-插入。

编辑:我使用了一个 for 循环来遍历数据。

对于数据中的 x: 如果 x[1] == '1' 和 x[4]: first.append(np.float(x[4]))
如果 x[1] == '2' 和 x[4]: second.append(np.float(x[4])) 如果 x[1] == '3' 和 x[4]: third.append(np.float(x[4]))

结果是三个数组,它们具有我正在寻找的不同值,然后可以取平均值并放回数据中的空洞中。

最佳答案

我想你想要这样的东西:

mask = data[:, 1] == 1
average = np.mean(data[mask, 4])

您提供的代码中没有列表理解,您只需创建一个包含两个元素的列表,第一个 data[:, 1] == 1 和第二个 data [:, 4].

关于python - 使用 Numpy 获取矩阵中数组的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13714357/

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