比较两组数据帧(字符串)可以使用以下代码示例的解决方法:
def compare_data_frames(df1, df2):
# 比较两个数据帧的行数和列数
if df1.shape != df2.shape:
return False
# 比较两个数据帧的列名
if list(df1.columns) != list(df2.columns):
return False
# 比较两个数据帧的每个元素
for i in range(df1.shape[0]):
for j in range(df1.shape[1]):
if df1.iloc[i, j] != df2.iloc[i, j]:
return False
return True
# 示例用法
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']})
df2 = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']})
df3 = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'd']})
print(compare_data_frames(df1, df2)) # 输出 True
print(compare_data_frames(df1, df3)) # 输出 False
上述示例代码定义了一个名为compare_data_frames
的函数,该函数接受两个数据帧参数df1
和df2
,并返回一个布尔值表示两个数据帧是否相等。
该函数首先比较两个数据帧的行数和列数,如果不相等,则返回False
。然后,比较两个数据帧的列名,如果不相等,则返回False
。最后,通过遍历每个元素比较两个数据帧的每个元素是否相等,如果有不相等的元素,则返回False
。如果所有元素都相等,则返回True
。
在示例用法中,我们创建了两个相同的数据帧df1
和df2
,以及一个不同的数据帧df3
。然后,我们分别调用compare_data_frames
函数来比较这些数据帧,并打印比较结果。