DataFrame.equal(self,other) [源代码]
测试两个对象是否包含相同的元素。
此功能允许将两个Series或DataFrame相互比较,以查看它们是否具有相同的形状和元素。相同位置的NaN被认为是相等的。列标题不必具有相同的类型,但是列中的元素必须具有相同的dtype。
参数: | other :Series或DataFrame 其他Series或DataFrame与第一个进行比较。 |
返回: | bool 如果两个对象中的所有元素都相同,则为True,否则为False。 |
Notes
此功能要求元素与其他Series或DataFrame中的元素具有相同的dtype。但是,列标签不必具有相同的类型,只要它们仍被视为相等即可。
例子
1)具有相同的类型和值
import pandas as pd # 创建 DataFrame df df = pd.DataFrame({1: [10], 2: [20]}) print("df:") print(df) # 创建与 df 完全相同的 DataFrame exactly_equal exactly_equal = pd.DataFrame({1: [10], 2: [20]}) print("\nexactly_equal:") print(exactly_equal) # 比较 df 和 exactly_equal result = df.equals(exactly_equal) print("\ndf.equals(exactly_equal):", result) # 输出: True
2)列标签具有不同的类型
import pandas as pd # 创建 DataFrame df df = pd.DataFrame({1: [10], 2: [20]}) print("df:") print(df) # 创建列标签为浮动类型的 DataFrame different_column_type different_column_type = pd.DataFrame({1.0: [10], 2.0: [20]}) print("\ndifferent_column_type:") print(different_column_type) # 比较 df 和 different_column_type result = df.equals(different_column_type) print("\ndf.equals(different_column_type):", result) # 输出: True
3)相同值具有不同的类型
import pandas as pd # 创建 DataFrame df df = pd.DataFrame({1: [10], 2: [20]}) print("df:") print(df) # 创建元素类型不同的 DataFrame different_data_type different_data_type = pd.DataFrame({1: [10.0], 2: [20.0]}) print("\ndifferent_data_type:") print(different_data_type) # 比较 df 和 different_data_type result = df.equals(different_data_type) print("\ndf.equals(different_data_type):", result) # 输出: False