Pandas: как проверить, равны ли два dataframe


Вы можете использовать следующий базовый синтаксис, чтобы проверить, равны ли два кадра данных pandas:

 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:

 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.

Мы можем использовать следующий синтаксис, чтобы проверить, равны ли два DataFrame:

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

False

Выходные данные возвращают False , что означает, что два 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 )

#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: как проверить, равны ли несколько столбцов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *