Как вывести данные из массива - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть массив как таковой из текстового файла:

[[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]]

Я хочу взять среднее значение 3-й строки для каждой группы результатов. поэтому каждая группа в двойных скобках [[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]] это вторая группа и т.д. c.)

Как получить доступ к каждой группе по отдельности?

Ответы [ 2 ]

1 голос
/ 13 апреля 2020

Если ваши данные такие, этот код будет работать нормально

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]
1 голос
/ 13 апреля 2020

Если вы хотите взять среднее значение третьей строки каждой группы с помощью:

>>> data[:,2].mean(axis=1)
array([4.4, 2.8, 4.2])

Если, например, data:

>>> 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)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...