pandas.Series.compare#
- Series.compare(other, align_axis=1, keep_shape=False, keep_equal=False, result_names=('self', 'other'))[源代码][源代码]#
与另一个系列进行比较并显示差异。
- 参数:
- 其他系列
要比较的对象。
- align_axis{0 或 ‘index’, 1 或 ‘columns’}, 默认 1
确定在哪个轴上对齐比较。
- 0, 或 ‘index’结果差异是垂直堆叠的
从 self 和 other 中交替绘制行。
- 1, 或 ‘列’结果差异是水平对齐的
从 self 和 other 中交替绘制列。
- keep_shape布尔值, 默认为 False
如果为真,所有行和列都会被保留。否则,只有值不同的行和列会被保留。
- keep_equal布尔值, 默认为 False
如果为真,结果会保留相等的值。否则,相等的值会显示为 NaNs。
- result_namestuple, 默认值 (‘self’, ‘other’)
在比较中设置数据框的名称。
Added in version 1.5.0.
- 返回:
- Series 或 DataFrame
如果轴是 0 或 ‘index’,结果将是一个 Series。结果索引将是一个 MultiIndex,其中 ‘self’ 和 ‘other’ 交替堆叠在内层。
如果轴是 1 或 ‘columns’,结果将是一个 DataFrame。它将有两列,即 ‘self’ 和 ‘other’。
参见
DataFrame.compare
与另一个 DataFrame 进行比较并显示差异。
备注
匹配的 NaNs 不会显示为差异。
例子
>>> 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