pandas.DataFrame.equals#

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

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

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

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

Parameters:
otherSeries 或 DataFrame

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

Returns:
bool

如果两个对象中的所有元素都相同,则返回 True,否则返回 False。

参见

Series.eq

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

DataFrame.eq

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

testing.assert_series_equal

如果 left 和 right 不相等,则引发 AssertionError。提供了一个方便的接口来忽略 dtype、索引和精度等方面的差异。

testing.assert_frame_equal

与 assert_series_equal 类似,但针对 DataFrame。

numpy.array_equal

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

Examples

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

DataFrame df 和 exactly_equal 的元素及其列标签具有相同的类型和值,这将返回 True。

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

DataFrame 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

DataFrame 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