Как выполнить ВПР в Pandas


Вы можете использовать следующий базовый синтаксис для выполнения ВПР (аналогично Excel) в pandas:

pd.merge(df1,
 df2,
 on ='column_name',
 how ='left')

В следующем пошаговом примере показано, как использовать этот синтаксис на практике.

Шаг 1: создайте два фрейма данных

Во-первых, давайте импортируем pandas и создадим два кадра данных pandas:

import pandas as pd

#define first DataFrame
df1 = pd.DataFrame({'player': ['A', 'B', 'C', 'D', 'E', 'F'],
 'team': ['Mavs', 'Mavs', 'Mavs', 'Mavs', 'Nets', 'Nets']})

#define second DataFrame
df2 = pd.DataFrame({'player': ['A', 'B', 'C', 'D', 'E', 'F'],
 'points': [22, 29, 34, 20, 15, 19]})

#view df1
print(df1)

 player team
0 A Mavs
1 B Mavs
2 C Mavs
3 D Mavs
4 E Nets
5 F Nets

#view df2
print(df2)

 player points
0 A 22
1 B 29
2 C 34
3 D 20
4 E 15
5 F 19

Шаг 2: Выполните функцию ВПР

Функция ВПР в Excel позволяет искать значение в таблице, сопоставляя столбец.

В следующем коде показано, как найти команду игрока с помощью pd.merge() , чтобы сопоставить имена игроков между двумя таблицами и вернуть команду игрока:

#perform VLOOKUP
joined_df = pd.merge(df1,
 df2,
 on ='player',
 how ='left')

#view results
joined_df

 player team points
0 A Mavs 22
1 B Mavs 29
2 C Mavs 34
3 D Mavs 20
4 E Nets 15
5 F Nets 19

Обратите внимание, что результирующий кадр данных pandas содержит информацию об игроке, его команде и набранных им очках.

Вы можете найти полную онлайн-документацию для функции pandas merge() здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в Python:

Как создавать сводные таблицы в Python
Как рассчитать корреляцию в Python
Как рассчитать процентили в Python