pandas.Series.compare#

Series.compare(other, align_axis=1, keep_shape=False, keep_equal=False)[源代码]#

与其他系列进行比较,并显示不同之处。

1.1.0 新版功能.

参数
other系列

要与之比较的对象。

align_axis{0或‘index’,1或‘Columns’},默认为1

确定要将比较与哪个轴对齐。

  • 0,或‘index’由此产生的差异垂直堆叠在一起

    其中的行交替地从自己和他人中画出。

  • 1,或‘列’产生的差异是水平对齐的

    其中的柱子交替地从自己和他人绘制。

keep_shape布尔值,默认为False

如果为True,则保留所有行和列。否则,只保留具有不同值的那些。

keep_equal布尔值,默认为False

如果为True,则结果将保留相等的值。否则,相等的值显示为NAN。

退货
系列或DataFrame

如果AXIS为0或‘INDEX’,则结果将是系列。生成的索引将是一个多重索引,在内部级别交替堆叠“self”和“Other”。

如果AXIS为1或‘Columns’,则结果将为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