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