我收到如下输出:
y = [[[1,1,1,1,1,1,1] ,[2,2,2,2,2,2,2], [3,3,3,3,3,3,3]],[[4,4,4],[5, 5, 5],[6, 6, 6]]]
最终输出应如下:
Y = [[1, 2, 3], [4, 5, 6]]
如何将y转换为Y? [这里,最里面的数组(或任选的任何元素)的平均值需要用作基本元素,最终数组(Y)需要是2D,而前期数组(y)是3D。
(我是numpy / python的新手,所以这个问题我看起来很蠢,如果需要其他信息,请告诉我)
答案 0 :(得分:0)
试试这个,
result = []
for i in lst:
result.append([j[0] for j in i])
print result
<强>结果强>
[[1, 2, 3], [4, 5, 6]]
答案 1 :(得分:0)
使用列表理解:
y = [[[1,1,1,1,1,1,1] ,[2,2,2,2,2,2,2], [3,3,3,3,3,3,3]],[[4,4,4],[5, 5, 5],[6, 6, 6]]]
Y = [[x[0] for x in z] for z in y] # [[1, 2, 3], [4, 5, 6]]
答案 2 :(得分:0)
import numpy as np
y = [[[1, 1, 1, 1, 1, 1, 1 ], [2, 2, 2, 2, 2, 2, 2 ] ,[3, 3, 3, 3, 3, 3, 3]],[[4, 4, 4],[5, 5, 5],[6, 6, 6]]]
Y = []
for l in y:
inner_l = []
for sub_l in l :
inner_l.append(np.mean(sub_l))
Y.append(inner_l)
print Y
答案 3 :(得分:0)
y=[[[1,1,1,1,1,1,1] ,[2,2,2,2,2,2,2], [3,3,3,3,3,3,3]],[[4,4,4],[5, 5, 5],[6, 6, 6]]]
rslt = []
for x in y:
lst=[]
for m in x:
lst.append([m[0]])
rslt.append(lst)
<强>结果:强>
rslt = [[1, 2, 3], [4, 5, 6]]