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