У меня есть две схемы набора данных pyarrow, и по какой-то причине они отличаются, даже если они должны быть одинаковыми (я предполагаю, что при хранении одного из файлов паркета для одного раздела определенный столбец был приведен к другому типу данных, но у меня есть Понятия не имею, что это).
Теперь я знаю, как сравнить, являются ли две схемы одинаковыми. Я могу сделать это так:
import pandas as pd
import numpy as np
import pyarrow as pa
df1 = pd.DataFrame({'col1': np.zeros(10), 'col2':np.random.rand(10)})
df2 = pd.DataFrame({'col1':np.ones(10), 'col2': np.zeros(10)})
schema_1 = pa.Schema.from_pandas(df1)
schema_2 = pa.Schema.from_pandas(df2)
schema_1.equals(schema_2)
df3 = df2.copy()
df3['col2'] = df3['col2'].astype('int')
schema_3 = pa.Schema.from_pandas(df3)
print(schema_1.equals(schema_2), schema_1.equals(schema_3))
Но как мне узнать, где они отличаются? (Визуальный осмотр не в счет, я кратко попробовал и не увидел различий в более чем 500 столбцах)