Как создать новый столбец панд с помощью vlookup-подобной процедуры в другом фрейме данных - PullRequest
0 голосов
/ 13 сентября 2018

У меня есть датафрейм, который выглядит следующим образом. Он будет использоваться для отображения значений с использованием двух категориальных переменных. Возможно преобразование этого в словарь было бы лучше. Index, and Column names represent possible values taken by two categorical variables in another data-frame

2-й кадр данных очень большой со снимком экрана, показанным ниже. Я хочу взять значения из категориальных переменных, чтобы создать новый атрибут (столбец) на основе 1-го кадра данных.

Например ...

Строка с FICO_cat (700,720] и OrigLTV_cat (75,80] получит значение 5 *. 1010 *

Строка с FICO_cat (700,720] и OrigLTV_cat (85,90] получит значение 6.

Есть ли эффективный способ сделать это?

enter image description here

1 Ответ

0 голосов
/ 13 сентября 2018

Если ваши столбцы имеют значения FICO_cat, а Index - OrigLTV_cat, это должно работать:

С учетом кадра данных df:

         780+  (740,780)  (720,740)
(60,70)     3          3          3
(70,75)     4          5          4
(75,80)     3          1          2

Do:

df = df.unstack().reset_index()
df.rename(columns = {'level_0' : 'FICOCat', 'level_1' : 'OrigLTV', 0 : 'value'}, inplace = True)

Выход:

     FICOCat  OrigLTV  value
0       780+  (60,70)      3
1       780+  (70,75)      4
2       780+  (75,80)      3
3  (740,780)  (60,70)      3
4  (740,780)  (70,75)      5
5  (740,780)  (75,80)      1
6  (720,740)  (60,70)      3
7  (720,740)  (70,75)      4
8  (720,740)  (75,80)      2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...