pandas.Series .比较 # 系列。比较( other , align_axis = 1 , keep_shape = False , keep_equal = False , result_names = ('self', 'other') ) [来源] # 与其他系列进行比较并显示差异。 参数: 其他系列要比较的对象。 align_axis {0 或 'index', 1 或 'columns'}, 默认 1确定将比较对齐到哪个轴。 0,或“索引”产生的差异垂直堆叠从自己和他人交替绘制行。 1,或“列”产生的差异水平对齐列从自己和他人交替绘制。 keep_shape布尔值,默认 False如果为 true,则保留所有行和列。否则,仅保留具有不同值的那些。 keep_equal bool, 默认 False如果为 true,则结果保持相等的值。否则,相等的值将显示为 NaN。 result_names元组,默认 ('self', 'other')在比较中设置数据帧名称。 1.5.0 版本中的新增内容。 返回: 系列或数据框如果 axis 为 0 或“index”,则结果将是一个系列。生成的索引将是一个 MultiIndex,其中“self”和“other”交替堆叠在内部级别。 如果 axis 为 1 或“列”,则结果将是一个 DataFrame。它将有两列,即“自我”和“其他”。 也可以看看 DataFrame.compare与另一个 DataFrame 进行比较并显示差异。 笔记 匹配 NaN 不会出现差异。 例子 >>> s1 = pd.Series(["a", "b", "c", "d", "e"]) >>> s2 = pd.Series(["a", "a", "c", "b", "e"]) 对齐列上的差异 >>> s1.compare(s2) self other 1 b a 3 d b 将差异叠加到指数上 >>> s1.compare(s2, align_axis=0) 1 self b other a 3 self d other b dtype: object 保留所有原始行 >>> s1.compare(s2, keep_shape=True) self other 0 NaN NaN 1 b a 2 NaN NaN 3 d b 4 NaN NaN 保留所有原始行以及所有原始值 >>> s1.compare(s2, keep_shape=True, keep_equal=True) self other 0 a a 1 b a 2 c c 3 d b 4 e e