Pandas: як порівняти стовпці в двох різних dataframes
Ви можете використовувати такі методи, щоб порівняти стовпці з двох різних panda DataFrames:
Спосіб 1: Підрахуйте відповідні значення між стовпцями
df1[' my_column ']. isin (df2[' my_column ']). value_counts ()
Спосіб 2: Показати відповідні значення між стовпцями
p.d. merge (df1, df2, on=[' my_column '], how=' inner ')
У наведених нижче прикладах показано, як використовувати кожен метод із такими pandas DataFrames:
import numpy as np import pandas as pd #create first DataFrame df1 = pd. DataFrame ({' team ': ['Mavs', 'Rockets', 'Spurs', 'Heat', 'Nets'], ' points ': [22, 30, 15, 17, 14]}) #view DataFrame print (df1) team points 0 Mavs 22 1 Rockets 30 2 Spurs 15 3 Heat 17 4 Nets 14 #create second DataFrame df2 = pd. DataFrame ({' team ': ['Mavs', 'Thunder', 'Spurs', 'Nets', 'Cavs'], ' points ': [25, 40, 31, 32, 22]}) #view DataFrame print (df2) team points 0 Mavs 25 1 Thunder 40 2 Spurs 31 3 Nets 32 4 Cavs 22
Приклад 1: підрахунок відповідних значень між стовпцями
Наступний код показує, як підрахувати кількість відповідних значень між стовпцями групи в кожному DataFrame:
#count matching values in team columns
df1[' team ']. isin (df2[' team ']). value_counts ()
True 3
False 2
Name: team, dtype: int64
Ми бачимо, що два DataFrames мають 3 спільні і 2 різні назви команд.
Приклад 2: Показати відповідні значення між стовпцями
Наступний код показує, як відобразити фактичні відповідні значення між стовпцями команди в кожному DataFrame:
#display matching values between team columns
p.d. merge (df1, df2, on=[' team '], how=' inner ')
team points_x points_y
0 Mavs 22 25
1 Spurs 15 31
2 Nets 14 32
З результату ми бачимо, що обидва DataFrames мають такі спільні значення в стовпцях команди :
- Mavs
- Шпори
- Сітки
Пов’язане: Як виконати внутрішнє об’єднання в Pandas (з прикладом)
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання в pandas:
Як перейменувати стовпці в Pandas
Як додати стовпець до Pandas DataFrame
Як змінити порядок стовпців у Pandas DataFrame