Есть ли способ сравнить два фрейма данных, имена столбцов которых находятся в отдельном фрейме данных? - PullRequest
0 голосов
/ 07 августа 2020

У меня есть фрейм данных с именами столбцов как a и b и значениями, как показано ниже:

col a: a1, a2, a3, a4, a5

col b: b1, b2, b3, b4, b5

Мои другие два фрейма данных имеют имена столбцов как a1, a2, a3 ... в одном df, а в другом b1, b2, b3 и так далее ...

df1

col a1: x rows

col a2: x rows ..... и так далее ..

df2

col b1: x rows

col b2: x rows ...... и так далее ...

оба фрейма данных df1 и df2 имеют одинаковое количество строк и в идеале должно иметь одинаковые данные.

Как мне проверить, имеют ли оба фрейма данных одинаковые данные или нет?

Если у него разные данные для определенного столбца, как мне получить материал для сравнения, где значения не совпадают ..

Спасибо.

1 Ответ

0 голосов
/ 07 августа 2020
# Input dataframes
data = {'a': ['a1', 'a2', 'a3', 'a4', 'a5'],
        'b': ['b1', 'b2', 'b3', 'b4', 'b5']}
df = pd.DataFrame(data)

data = {'a1': ['3/11/2020','3/12/2020','3/13/2020',
               '3/14/2020','3/15/2020','3/16/2020'],
        'a2': [ 7,  8,  9, 10, 11, 12],
        'a3': [13, 14, 15, 16, 17, 18],
        'a4': [19, 20, 21, 22, 23, 24],
        'a5': [25, 26, 27, 28, 29, 30]}
df1 = pd.DataFrame(data)

data = {'b1': ['11 Mar 2020','12 Mar 2020','13 Mar 2020',
               '14 Mar 2020','15 Mar 2020','16 Mar 2020'],
        'b2': [ 7,  8, 99, 10, 11, 12], # mismatch here
        'b3': [13, 14, 15, 16, 17, 18],
        'b4': [19, 20, 21, 22, 23, 24],
        'b5': [25, 26, 27, 28, 29, 30]}
df2 = pd.DataFrame(data)

# Example tranformation
df1['a1'] = pd.to_datetime(df1['a1'])
df2['b1'] = pd.to_datetime(df2['b1'])

df2.columns = df1.columns

print(df1.equals(df2))

print(df1==df2)

Вывод:

False
     a1     a2    a3    a4    a5
0  True   True  True  True  True
1  True   True  True  True  True
2  True  False  True  True  True
3  True   True  True  True  True
4  True   True  True  True  True
5  True   True  True  True  True
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...