Пожалуйста, прости меня, если моя терминология неверна - я новичок в этом!
Я пытаюсь изолировать определенные записи на основе значения первого элемента в каждом элементе массива ивыполнить некоторые операции над определенными столбцами. Вот пример типа данных, с которыми я работаю:
[[1, 99, 400],
[1, 95, 200],
[2, 92, 100],
[1, 85, 500],
[2, 88, 300]]
Мне нужно выяснить средние значения столбцов 2 и 3, используя for loop
, if statement
и арифметику соответственно,для каждого условия (отражено в столбце 1, где значения равны 1 или 2).
Я пытаюсь разбить вышеуказанный массив на два отдельных массива для каждого условия, а затем взять среднее значение этих столбцов, используяnumpy.mean
. Вот как я хочу, чтобы списки выглядели так:
cond1 = [[1, 99, 400], [1, 95, 200], [1, 85, 500]]
cond2 = [[2, 92, 100], [2, 88, 300]]
Я застрял на том, как разделить эти условия на два новых массива на основе первого элемента. Вот самое далекое, что я получил после поиска в Google по поводу нарезки ... но я застрял!
for x in stim:
if stim_acc[0]==1.0:
np.where(stim_acc[0] = 1.0)
cond1 = [[s,a,rt] for s, a, rt in zip(stim, acc, mrt)]
print(cond1)
относительно stim
, acc
и mrt
:
У меня естьнабор данных длиной в несколько столбцов, из которого я выделил записи в новый список (первый в этом посте) (теперь stim
), точность (теперь acc
) и среднее время реакции (теперь mrt
)). Я сделал это так:
stim = data[:,1]
acc = data[:,3]
mrt = data[:,4]
stim_acc = [[s, a, rt] for s, a, rt in zip(stim, acc, mrt)]
print(stim_acc)
Я предварительно назвал новый список stim_acc
, потому что я предвидел это превращение в список, вычисляющий точность для каждого условия в цикле.
Спасибо, любая помощь очень ценится.