Простой поиск с использованием двух фреймов данных в Python - PullRequest
0 голосов
/ 08 февраля 2019

Я работаю с пандами, и я намерен перенести данные из одной таблицы в другую.Предположим, у меня есть два кадра данных с именами df1 и df2:

df1 выглядит так:

Name    Age    Height
Marcus  18     170
Dan     21     172
Phill   30     165
Paty    24     160
Linda   25     158

df2 выглядит так:

Name    Score1    Score2     Score3
Dan          A         C          C
Paty         B         A          B
Marcus       C         D          B
Zoe          A         A          B

Я хотел бы найтиспособ выбрать возраст парней в df1 и перенести его в df2, в результате чего получается такая таблица:

Name    Score1    Score2     Score3    Age
Dan          A         C          C    21
Paty         B         A          B    24
Marcus       C         D          B    18
Zoe          A         A          B    NaN

В Excel мы используем функцию VLOOKUP в df2 до df1.Но я не смог найти что-то похожее в Python.

1 Ответ

0 голосов
/ 08 февраля 2019

Вы можете использовать карту или объединить, карта будет быстрее

Вариант 1: Использование карты

df2['Age'] = df2['Name'].map(df1.set_index('Name')['Age'])

Вариант 2: Использование объединения

df2.merge(df1[['Name', 'Age']], 'left')

В любом случаеВы получаете

    Name    Score1  Score2  Score3  Age
0   Dan     A       C       C       21.0
1   Paty    B       A       B       24.0
2   Marcus  C       D       B       18.0
3   Zoe     A       A       B       NaN
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...