Функция np.where: может ли она получать значения только из указанных столбцов c? - PullRequest
0 голосов
/ 05 января 2020

1 Я использую функцию np.where () для получения значений точности в определенных условиях эксперимента. У меня есть фрейм данных с большим количеством столбцов, включая один точный (под названием «правильный») и один раз реакции (под названием «время реакции»). Я получил точные данные о точности, используя функцию; мой код был:

df['acc1_eyeheight_f'] = np.where((df.metadata == 'eyeheight_f') & (df.frontal_1.str.contains("1")) | (df.frontal_2.str.contains("1")), df.correct, np.NaN) #if metadata had the condition, return the corresponding correct value

acc1_eyeheight_f= df.groupby('participant_private_id').mean()['acc1_eyeheight_f']  

print(acc1_eyeheight_f)

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

df['rt1_eyeheight_f'] = np.where((df.metadata == 'eyeheight_f') & (df.frontal_1.str.contains("1")) | (df.frontal_2.str.contains("1")), df.reactiontime, np.NaN) #if metadata had the condition, return the corresponding correct value

rt1_eyeheight_f= df.groupby('participant_private_id').mean()['rt1_eyeheight_f']  

print(rt1_eyeheight_f)

, я получаю ключевую ошибку для 'rt1_eyeheight_f' , Когда я печатаю (df), столбец существует, и в неправильном месте нет пробелов.

Мне было интересно, связано ли это со значениями внутри ячейки?

Заранее спасибо - я очень запутался!

[here is dome of the data]

...