Python 如何从数组中获取数据
我有一个txt文件中的数组:Python 如何从数组中获取数据,python,numpy,Python,Numpy,我有一个txt文件中的数组: [[1, 4, 6, 2, 5] [3, 4, 3, 5, 4] [5, 3, 6, 7, 1]] [[3, 4, 2, 5, 8] [5, 2, 7, 5, 4] [4, 2, 4, 4, 0]] [[2, 5, 3, 1, 4] [3, 8, 5, 6, 2] [2, 6, 7, 4, 2]] 我想取每组结果第三行的平均值。所以每个组都在一个双括号中[[1,4,6,2,5] [3, 4, 3, 5, 4] [5,3,6,7,1]是一个组 [[3,4,2,5,8
[[1, 4, 6, 2, 5]
[3, 4, 3, 5, 4]
[5, 3, 6, 7, 1]]
[[3, 4, 2, 5, 8]
[5, 2, 7, 5, 4]
[4, 2, 4, 4, 0]]
[[2, 5, 3, 1, 4]
[3, 8, 5, 6, 2]
[2, 6, 7, 4, 2]]
我想取每组结果第三行的平均值。所以每个组都在一个双括号中[[1,4,6,2,5]
[3, 4, 3, 5, 4]
[5,3,6,7,1]
是一个组
[[3,4,2,5,8]
[5, 2, 7, 5, 4]
[4,2,4,4,0]
是第二组等)
如何单独访问每个组?如果您想用以下公式计算每个组第三行的平均值:
>>> data[:,2].mean(axis=1)
array([4.4, 2.8, 4.2])
例如,如果数据为:
>>> data
array([[[1, 4, 6, 2, 5],
[3, 4, 3, 5, 4],
[5, 3, 6, 7, 1]],
[[3, 4, 2, 5, 8],
[5, 2, 7, 5, 4],
[4, 2, 4, 4, 0]],
[[2, 5, 3, 1, 4],
[3, 8, 5, 6, 2],
[2, 6, 7, 4, 2]]])
然后通过切片,我们获得每组的第三行:
>>> data[:,2]
array([[5, 3, 6, 7, 1],
[4, 2, 4, 4, 0],
[2, 6, 7, 4, 2]])
然后,对于每一行,我们可以使用.mean(axis=1)
计算平均值。如果您的数据是这样的,则此代码将正常工作
lst =[
[[1, 4, 6, 2, 5],[3, 4, 3, 5, 4],[5, 3, 6, 7, 1]],
[[3, 4, 2, 5, 8],[5, 2, 7, 5, 4],[4, 2, 4, 4, 0]],
[[2, 5, 3, 1, 4],[3, 8, 5, 6, 2],[2, 6, 7, 4, 2]]
]
import numpy as np
means = []
for i in lst:
means.append(np.mean(i[2]))
print(means)
>> [4.4, 2.8, 4.2]
类似于a[0]
?欢迎使用堆栈溢出!请提供一个包含您已经尝试过的代码,以便我们能够更好地理解如何帮助您首先需要解析文本文件,以便将其转换为Python对象,可能是“矩阵”列表。然后你就可以做一些计算了。到目前为止你试过什么?