Подберите DataFrame на основе нескольких условий - PullRequest
0 голосов
/ 19 января 2020

У меня есть небольшой объект DataFrame (plot_data, 800 значений), который имеет следующие столбцы:

  • Stimulus (случайное число в каждой ячейке)
  • TrialNumber ( последовательность 0-99, повторяется 8 раз)
  • BlockNumber (для каждой TrialNumber последовательности 0-99 есть блок 1, затем 2, затем 3 до 8)

Пример :

Stimulus  TrialNumber BlockNumber
      45           1            1
      72           2            1
      12           3            1
     ...         ...          ...
      34          99            8

Я хотел бы выбрать значение из Stimulus на основе двух условий: значения TrialNumber и значения BlockNumber. До сих пор мне удавалось выбрать значение Stimulus только для индекса позиции:

plot_data['Stimulus'][1]), где 1 - индекс

. Есть ли способ выбрать Stimulus на основе индекс TrialNumber И индекс BlockNumber с той же строкой кода?

Например, если я хочу выбрать Stimulus для TrialNumber 99 и BlockNumber 9 (что 34 в этом примере), как я могу это сделать?

1 Ответ

2 голосов
/ 19 января 2020

Я создал примерный фрейм данных точно так же, как и выше. Df

data = {'Stimulus': [45, 72, 12, 34],
        'TrialNumber': [1, 2, 3, 99],
        'BlockNumber': [1, 1, 1, 8]}

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

df.loc[(df['TrialNumber'] == 99) &
              (df['BlockNumber'] == 8)]['Stimulus'].values[0]

Это даст вам значение стимула 34

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