pandas.DataFrame.equals#

DataFrame.equals(other)[源代码]#

测试两个对象是否包含相同的元素。

此函数允许两个 Series 或 DataFrames 相互比较,以查看它们是否具有相同的形状和元素。相同位置的 NaNs 被视为相等。

行/列索引不需要具有相同类型,只要值被认为是相等的即可。相应的列和索引必须具有相同的dtype。

参数:
其他系列或数据框

另一个要与第一个进行比较的 Series 或 DataFrame。

返回:
bool

如果两个对象中的所有元素都相同,则为真,否则为假。

参见

Series.eq

比较两个长度相同的 Series 对象,并返回一个 Series,其中每个元素在每个 Series 中的元素相等时为 True,否则为 False。

DataFrame.eq

比较两个形状相同的 DataFrame 对象,并返回一个 DataFrame,其中每个元素在每个 DataFrame 中的相应元素相等时为 True,否则为 False。

testing.assert_series_equal

如果左和右不相等,则引发 AssertionError。提供了一个简单的接口来忽略 dtype、索引和精度等方面的不等性。

testing.assert_frame_equal

类似于 assert_series_equal,但针对的是 DataFrames。

numpy.array_equal

如果两个数组具有相同的形状和元素,则返回 True,否则返回 False。

例子

>>> df = pd.DataFrame({1: [10], 2: [20]})
>>> df
    1   2
0  10  20

数据框 df 和 exactly_equal 在它们的元素和列标签上具有相同的类型和值,这将返回 True。

>>> exactly_equal = pd.DataFrame({1: [10], 2: [20]})
>>> exactly_equal
    1   2
0  10  20
>>> df.equals(exactly_equal)
True

数据框 df 和 different_column_type 具有相同的元素类型和值,但列标签的类型不同,这仍然会返回 True。

>>> different_column_type = pd.DataFrame({1.0: [10], 2.0: [20]})
>>> different_column_type
   1.0  2.0
0   10   20
>>> df.equals(different_column_type)
True

数据框 df 和 different_data_type 对于其元素的相同值具有不同的类型,即使它们的列标签具有相同的值和类型,也将返回 False。

>>> different_data_type = pd.DataFrame({1: [10.0], 2: [20.0]})
>>> different_data_type
      1     2
0  10.0  20.0
>>> df.equals(different_data_type)
False