pandas.DataFrame.equals#
- DataFrame.equals(other)[源代码]#
测试两个对象是否包含相同元素。
此函数允许两个 Series 或 DataFrame 进行相互比较,以检查它们是否具有相同的形状和元素。相同位置的 NaN 被视为相等。
行/列索引不需要具有相同的类型,只要值被认为是相等的。相应的列和索引必须是相同的 dtype。
- 参数:
- otherSeries 或 DataFrame
第一个要与之比较的另一个 Series 或 DataFrame。
- 返回:
- 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。
示例
>>> 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
位于相同位置的 NaN 的 DataFrame 比较相等。
>>> df_nan1 = pd.DataFrame({"a": [1, np.nan], "b": [3, np.nan]}) >>> df_nan2 = pd.DataFrame({"a": [1, np.nan], "b": [3, np.nan]}) >>> df_nan1.equals(df_nan2) True
如果 NaN 值不在相同位置,它们将比较不相等。
>>> df_nan3 = pd.DataFrame({"a": [1, np.nan], "b": [3, 4]}) >>> df_nan1.equals(df_nan3) False