當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python pandas.DataFrame.compare用法及代碼示例


用法:

DataFrame.compare(other, align_axis=1, keep_shape=False, keep_equal=False)

與另一個 DataFrame 比較並顯示差異。

參數

other DataFrame

要比較的對象。

align_axis{0 或 ‘index’,1 或 ‘columns’},默認 1

確定要在哪個軸上對齊比較。

  • 0,或‘index’產生的差異垂直堆疊

    從 self 和 other 交替繪製的行。

  • 1,或‘columns’產生的差異水平對齊

    從 self 和 other 交替繪製列。

keep_shape布爾值,默認為 False

如果為真,則保留所有行和列。否則,僅保留具有不同值的那些。

keep_equal布爾值,默認為 False

如果為真,則結果保持相等的值。否則,相等的值顯示為 NaN。

返回

DataFrame

DataFrame 顯示並排堆疊的差異。

生成的索引將是一個 MultiIndex,其中 ‘self’ and ‘other’ 在內部層交替堆疊。

拋出

ValueError

當兩個 DataFrame 沒有相同的標簽或形狀時。

注意

匹配的 NaN 不會顯示為差異。

隻能比較identically-labeled(即相同的形狀、相同的行和列標簽)DataFrames

例子

>>> df = pd.DataFrame(
...     {
...         "col1":["a", "a", "b", "b", "a"],
...         "col2":[1.0, 2.0, 3.0, np.nan, 5.0],
...         "col3":[1.0, 2.0, 3.0, 4.0, 5.0]
...     },
...     columns=["col1", "col2", "col3"],
... )
>>> df
  col1  col2  col3
0    a   1.0   1.0
1    a   2.0   2.0
2    b   3.0   3.0
3    b   NaN   4.0
4    a   5.0   5.0
>>> df2 = df.copy()
>>> df2.loc[0, 'col1'] = 'c'
>>> df2.loc[2, 'col3'] = 4.0
>>> df2
  col1  col2  col3
0    c   1.0   1.0
1    a   2.0   2.0
2    b   3.0   4.0
3    b   NaN   4.0
4    a   5.0   5.0

對齊列上的差異

>>> df.compare(df2)
  col1       col3
  self other self other
0    a     c  NaN   NaN
2  NaN   NaN  3.0   4.0

在行上堆疊差異

>>> df.compare(df2, align_axis=0)
        col1  col3
0 self     a   NaN
  other    c   NaN
2 self   NaN   3.0
  other  NaN   4.0

保持相等的值

>>> df.compare(df2, keep_equal=True)
  col1       col3
  self other self other
0    a     c  1.0   1.0
2    b     b  3.0   4.0

保留所有原始行和列

>>> df.compare(df2, keep_shape=True)
  col1       col2       col3
  self other self other self other
0    a     c  NaN   NaN  NaN   NaN
1  NaN   NaN  NaN   NaN  NaN   NaN
2  NaN   NaN  NaN   NaN  3.0   4.0
3  NaN   NaN  NaN   NaN  NaN   NaN
4  NaN   NaN  NaN   NaN  NaN   NaN

保留所有原始行和列以及所有原始值

>>> df.compare(df2, keep_shape=True, keep_equal=True)
  col1       col2       col3
  self other self other self other
0    a     c  1.0   1.0  1.0   1.0
1    a     a  2.0   2.0  2.0   2.0
2    b     b  3.0   3.0  3.0   4.0
3    b     b  NaN   NaN  4.0   4.0
4    a     a  5.0   5.0  5.0   5.0

相關用法


注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.DataFrame.compare。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。