用法:
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
相關用法
- Python pandas.DataFrame.combine_first用法及代碼示例
- Python pandas.DataFrame.combine用法及代碼示例
- Python pandas.DataFrame.convert_dtypes用法及代碼示例
- Python pandas.DataFrame.corr用法及代碼示例
- Python pandas.DataFrame.count用法及代碼示例
- Python pandas.DataFrame.copy用法及代碼示例
- Python pandas.DataFrame.cov用法及代碼示例
- Python pandas.DataFrame.cumsum用法及代碼示例
- Python pandas.DataFrame.cummin用法及代碼示例
- Python pandas.DataFrame.cumprod用法及代碼示例
- Python pandas.DataFrame.clip用法及代碼示例
- Python pandas.DataFrame.cummax用法及代碼示例
- Python pandas.DataFrame.ewm用法及代碼示例
- Python pandas.DataFrame.dot用法及代碼示例
- Python pandas.DataFrame.apply用法及代碼示例
- Python pandas.DataFrame.rename用法及代碼示例
- Python pandas.DataFrame.to_numpy用法及代碼示例
- Python pandas.DataFrame.dtypes用法及代碼示例
- Python pandas.DataFrame.truncate用法及代碼示例
- Python pandas.DataFrame.sparse.from_spmatrix用法及代碼示例
注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.DataFrame.compare。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。