pandas создать новый столбец из справочной таблицы с именами строк / столбцов, определяемыми значениями строк в исходном кадре данных - PullRequest
0 голосов
/ 11 марта 2020

У меня есть фрейм данных (df_table) с двумя столбцами, 'University' и 'Major'

    University  Major
0   UnivA   Business
1   UnivA   Computer
2   UnivC   Computer
3   UnivB   Architecture

У меня также есть таблица поиска (df_lu), где значения строк соответствуют ' University 'и заголовки столбцов соответствуют Major, с записями таблицы, соответствующими ожидаемым окладам:

    University  Business    Computer Architecture
0   UnivA      100          200       300
1   UnivB      150          250       350
2   UnivC      95           86        14
3   UnivD      32           0         27

Я хочу создать новый столбец в первой таблице Expected_Salary с записями на основе значение строки / столбца из таблицы lokup:

    University  Major   Expected_Salary
0   UnivA   Business    100
1   UnivA   Computer    200
2   UnivC   Computer    86
3   UnivB   Architecture    350

Я пробовал что-то вроде этого:

df_table['Salary_Expected'] = df_table['University'].map(df_lu.set_index(
    'University')[col for col in df_lu.column if col==df_table.Major ]

, но я не могу правильно указать столбец из таблицы поиска

Другая попытка:

df_table['Salary_Expected'] =  df_lu.lookup(df_lu.index.
                                            where(df_lu.University==df_table.University,

Опять же, указание имени столбца в df_lu, похоже, не работает. Я надеюсь, что есть простое решение, в противном случае я могу просто сделать вложенный l oop

...