这个错误出现的原因是两个数据框中的列标签不同。为了解决这个问题,需要先将两个数据框的列标签统一。可以通过以下两种方法进行:
方法一: 使用intersection()函数将两个数据框的列标签取交集,然后再将两个数据框按照交集后的列标签进行切片比较。
代码示例:
common_cols = df1.columns.intersection(df2.columns) df1_common = df1[common_cols] df2_common = df2[common_cols] df_comparison = df1_common == df2_common
方法二: 如果需要比较所有列标签,可以使用pandas.DataFrame.align()函数,将两个数据框按照列标签对齐后再进行比较。
代码示例:
df1_aligned, df2_aligned = df1.align(df2, join='outer', axis=1) df_comparison = df1_aligned == df2_aligned
使用这两种方法可以避免“Can only compare identically-labeled Series objects”错误的出现。
上一篇:比较两个长度不同的列
下一篇:比较两个长度不同的数组