我也遇到了同样的问题,不得不在专栏上循环。我遇到的问题是,由于NA值指示符,一些数字列有时被读取为字符串。
df1_types = pd.DataFrame(df1.dtypes,columns=["colname", "type"])
df2_types = pd.DataFrame(df2.dtypes,columns=["colname", "type"])
flag = True
for index, row in df1_types.iterrows():
if row['type'] != df2_types[df2_types['colname'] == row['colname']]['type'].values[0]:
# Add numeric check here if needed
flag = False
break
if flag:
print("Data types is equal for both the files..")
else:
print("Data types is NOT equal for both the files..")