У меня есть многомерный массив, как показано ниже. Я хочу вытащить все элементы последним и добавить их в отдельный список.
Например: -
array([[[[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0],
[ 13, 35, 14]], # pop this row [13 ,35, 14]
[[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0],
[ 13, 35, 14],
[ 9, 61, 34]], # pop this row [9,61,34]
[[ 0, 0, 0],
[ 0, 0, 0],
[ 13, 35, 14],
[ 9, 61, 34],
[ 54, 127, 105]], # pop this row[54,127,105]
[[ 0, 0, 0],
[ 13, 35, 14],
[ 9, 61, 34],
[ 54, 127, 105],
[ 92, 170, 141]], # pop this row and similarly other rows below...
[[ 13, 35, 14],
[ 9, 61, 34],
[ 54, 127, 105],
[ 92, 170, 141],
[ 19, 88, 73]]],
[[[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0],
[ 2, 14, 2]],
[[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0],
[ 2, 14, 2],
[216, 192, 173]],
[[ 0, 0, 0],
[ 0, 0, 0],
[ 2, 14, 2],
[216, 192, 173],
[111, 58, 31]],
[[ 0, 0, 0],
[ 2, 14, 2],
[216, 192, 173],
[111, 58, 31],
[194, 185, 180]],
[[ 2, 14, 2],
[216, 192, 173],
[111, 58, 31],
[194, 185, 180],
[ 8, 32, 14]]],
[[[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0],
[ 27, 41, 30]],
[[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0],
[ 27, 41, 30],
[209, 194, 192]],
[[ 0, 0, 0],
[ 0, 0, 0],
[ 27, 41, 30],
[209, 194, 192],
[181, 156, 152]],
[[ 0, 0, 0],
[ 27, 41, 30],
[209, 194, 192],
[181, 156, 152],
[206, 188, 181]],
[[ 27, 41, 30],
[209, 194, 192],
[181, 156, 152],
[206, 188, 181],
[ 1, 38, 18]]],
[[[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0],
[ 42, 105, 90]],
[[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0],
[ 42, 105, 90],
[ 59, 49, 46]],
[[ 0, 0, 0],
[ 0, 0, 0],
[ 42, 105, 90],
[ 59, 49, 46],
[ 73, 75, 70]],
[[ 0, 0, 0],
[ 42, 105, 90],
[ 59, 49, 46],
[ 73, 75, 70],
[ 56, 51, 49]],
[[ 42, 105, 90],
[ 59, 49, 46],
[ 73, 75, 70],
[ 56, 51, 49],
[ 49, 141, 112]]],
[[[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0],
[147, 149, 150]],
[[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0],
[147, 149, 150],
[ 20, 22, 22]],
[[ 0, 0, 0],
[ 0, 0, 0],
[147, 149, 150],
[ 20, 22, 22],
[ 0, 0, 0]],
[[ 0, 0, 0],
[147, 149, 150],
[ 20, 22, 22],
[ 0, 0, 0],
[ 8, 5, 4]],
[[147, 149, 150],
[ 20, 22, 22],
[ 0, 0, 0],
[ 8, 5, 4],
[103, 103, 101]]]])
Я пробовал технику нарезки, но не получилось.
Если я конвертирую этот массив в список (названный поездом) и запускаю код: -
for i in range(len(train)):
for j in range(len(train[i])):
for k in range(len(train[i][j])):
train_x.append(train[i][j][k][:-1])
train_y.append(train[i][j][k][-1])
я думал, что это сработает, но не сработало. Может ли кто-нибудь проверить код или предложить альтернативный метод для этого.
Результат должен быть: -
train_x: -
[[[[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0]],
[[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0],
[ 13, 35, 14]],
[[ 0, 0, 0],
[ 0, 0, 0],
[ 13, 35, 14],
[ 9, 61, 34]],
[[ 0, 0, 0],
[ 13, 35, 14],
[ 9, 61, 34],
[ 54, 127, 105]], # this continues below....
[[ 13, 35, 14],
[ 9, 61, 34],
[ 54, 127, 105],
[ 92, 170, 141]]],
[[[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0]],
[[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0],
[ 2, 14, 2]], # I have edited till here but it goes on like this
[[ 0, 0, 0],
[ 0, 0, 0],
[ 2, 14, 2],
[216, 192, 173],
[111, 58, 31]],
[[ 0, 0, 0],
[ 2, 14, 2],
[216, 192, 173],
[111, 58, 31],
[194, 185, 180]],
[[ 2, 14, 2],
[216, 192, 173],
[111, 58, 31],
[194, 185, 180],
[ 8, 32, 14]]],
[[[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0],
[ 27, 41, 30]],
[[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0],
[ 27, 41, 30],
[209, 194, 192]],
[[ 0, 0, 0],
[ 0, 0, 0],
[ 27, 41, 30],
[209, 194, 192],
[181, 156, 152]],
[[ 0, 0, 0],
[ 27, 41, 30],
[209, 194, 192],
[181, 156, 152],
[206, 188, 181]],
[[ 27, 41, 30],
[209, 194, 192],
[181, 156, 152],
[206, 188, 181],
[ 1, 38, 18]]],
[[[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0],
[ 42, 105, 90]],
[[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0],
[ 42, 105, 90],
[ 59, 49, 46]],
[[ 0, 0, 0],
[ 0, 0, 0],
[ 42, 105, 90],
[ 59, 49, 46],
[ 73, 75, 70]],
[[ 0, 0, 0],
[ 42, 105, 90],
[ 59, 49, 46],
[ 73, 75, 70],
[ 56, 51, 49]],
[[ 42, 105, 90],
[ 59, 49, 46],
[ 73, 75, 70],
[ 56, 51, 49],
[ 49, 141, 112]]],
[[[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0],
[147, 149, 150]],
[[ 0, 0, 0],
[ 0, 0, 0],
[ 0, 0, 0],
[147, 149, 150],
[ 20, 22, 22]],
[[ 0, 0, 0],
[ 0, 0, 0],
[147, 149, 150],
[ 20, 22, 22],
[ 0, 0, 0]],
[[ 0, 0, 0],
[147, 149, 150],
[ 20, 22, 22],
[ 0, 0, 0],
[ 8, 5, 4]],
[[147, 149, 150],
[ 20, 22, 22],
[ 0, 0, 0],
[ 8, 5, 4],
[103, 103, 101]]]]
train_y должен быть списком удаленных элементов .