Pandas: як перевірити, чи рівні два dataframes


Ви можете використати наступний базовий синтаксис, щоб перевірити, чи рівні два панди DataFrames:

 df1. equals (df2)

Це поверне значення True або False .

Якщо два DataFrame не однакові, ви можете використовувати такий синтаксис, щоб знайти рядки у другому DataFrame, яких немає в першому DataFrame:

 #perform outer join on two DataFrames
all_df = df1. merge (df2, indicator= True , how=' outer ')

#find which rows only exist in second DataFrame
only_df2 = all_df[all_df[' _merge '] == ' right_only ']
only_df2 = only_df2. drop (' _merge ', axis= 1 )

У наступному прикладі показано, як використовувати цей синтаксис на практиці.

Приклад: Перевірте, чи рівні два фрейми даних pandas

Припустімо, що ми маємо наступні два panda DataFrames:

 import pandas as pd

#create first DataFrame
df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E'], 
                    ' points ': [12, 15, 22, 29, 24]}) 

print (df1)

  team points
0 to 12
1 B 15
2 C 22
3 D 29
4 E 24

#create second DataFrame
df2 = pd. DataFrame ({' team ': ['A', 'D', 'F', 'G', 'H'],
                    ' points ': [12, 29, 15, 19, 10]})

print (df2)

  team points
0 to 12
1 D 29
2 F 15
3 G 19
4:10 a.m.

Ми можемо використовувати наступний синтаксис, щоб перевірити, чи рівні два DataFrames:

 #check if two DataFrames are equal
df1. equals (df2)

False

Вихід повертає False , що означає, що два DataFrames не рівні.

Потім ми можемо використовувати такий синтаксис, щоб знайти, які рядки існують у другому DataFrame, але не в першому:

 #perform outer join on two DataFrames
all_df = df1. merge (df2, indicator= True , how=' outer ')

#find which rows only exist in second DataFrame
only_df2 = all_df[all_df[' _merge '] == ' right_only ']
only_df2 = only_df2. drop (' _merge ', axis= 1 )

#view results
print (only_df2)

  team points
5 F 15
6 G 19
7:10 a.m.

З результату ми бачимо, що у другому DataFrame є три рядки, яких немає в першому DataFrame.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в pandas:

Pandas: додайте стовпець з одного DataFrame до іншого
Pandas: отримати рядки, яких немає в іншому DataFrame
Pandas: як перевірити, чи рівні кілька стовпців

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *