Как я могу сравнить только схему для данных? - PullRequest
0 голосов
/ 18 февраля 2019

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

Из того, что я уже пробовал, .equals () также сравнивает значение, и если я пытаюсь сравнить пустые кадры данных, они всегда приводят к тому, что они не равны(также я проигрываю в атрибуте dtypes).

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 18 февраля 2019

Сравнить Series создано DataFrame.dtypes:

df1.dtypes.equals(df2.dtypes)

Образец :

df1 = pd.DataFrame({
        'A':list('abcdef'),
         'B':[4,5,4,5,5,4],
         'F':list('aaabbb')
})

df2 = pd.DataFrame({
        'A':list('abcdef'),
         'B':[4,5,4,5,5,4],
         'F':list('aaabbb')
})

df3 = pd.DataFrame({
        'A':list('abcdef'),
         'B':[4.0,5,4,5,5,4],
         'F':list('aaabbb')
})

df4 = pd.DataFrame({
        'A':list('abcdef'),
         'C':[4,5,4,5,5,4],
         'F':list('aaabbb')
})

print (df1.dtypes.equals(df2.dtypes))
True

print (df1.dtypes.equals(df3.dtypes))
False

print (df1.dtypes.equals(df4.dtypes))
False
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...