Эквивалент Advanced Index-Match в Python - PullRequest
0 голосов
/ 22 января 2020

У меня есть расширенная функция сопоставления индексов в Excel, которую я хотел бы преобразовать в Python. Функция Excel возвращает оценку следующего уровня из таблицы данных. Функция массива Excel:

={IFERROR(IF(ISTEXT(R2),INDEX(NextLevel,MATCH(1,(R2=Placement)*(D2=Grade),0))," "),"")}

Где ячейка R2 - текстовая ячейка, описывающая уровень размещения (Уровень 1, Уровень 2, Уровень 3 и т. Д. c.). NextLevel, Placement и Grade - все именованные диапазоны в моей таблице LookUp

Таблица поиска выглядит примерно так (где каждый уровень оценки соответствует уровню производительности от 1 до 12):

Grade  Placement  Next Level 
  1     Level 1       100
  1     Level 2       200
  1     Level 3       300
 ...     ...          ...
  1     Level 12      1200
  2     Level 1       110
  2     Level 2       220
 ...     ...          ...
  2     Level 12      1210
 ...     ...          ...
  12    Level 1       112
  12    Level 2       212
 ...     ...          ...
  12    Level 12      1220

Мне нужно вернуть оценку следующего уровня в столбец моего Pandas кадра данных для каждого учащегося на основе уровня успеваемости и оценки. Из приведенной выше функции Excel видно, что она проверяет значение в R2 (уровень размещения) по отношению к именованному диапазону уровня размещения и возвращает значение ИСТИНА всякий раз, когда оно совпадает. Затем он делает то же самое для класса. Затем он умножает эти массивы вместе, и если результат равен 1, функция MATCH возвращает номер строки в функцию INDEX, которая затем возвращает оценку следующего уровня. Таким образом, если ученик 12-го класса будет работать на уровне 2, он вернет значение 212. Как показано выше.

Я пытаюсь повторить этот же процесс в Python, но я не так хорош в Python как я в Excel. Я могу визуализировать решение, но не могу поместить его в код. Любая помощь с благодарностью.

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