昨天使用了 hashlib 库,今天直接使用 Dataframe 自带的函数去比较两个 df

    一,使用 equals 函数对比:

    1. import sys, sqlite3, pandas as pd files = [sys.argv[1], sys.argv[2]] files = ['./TempFiles/temp_77.csv', './TempFiles/temp_77_new.csv']df1 = pd.read_csv(files[0])df2 = pd.read_csv(files[1])print('使用 df.equals 检测是否相同:', df3)

    二,使用 any 对比:

    1. mport sys, sqlite3, pandas as pd files = [sys.argv[1], sys.argv[2]] files = ['./TempFiles/temp_77.csv', './TempFiles/temp_77_new.csv']df1 = pd.read_csv(files[0])df2 = pd.read_csv(files[1]) df3 = (df1 != df2).any(axis=None)print('使用 df.any 检测是否相同:', df3 == False) df3 = (df1 != df2).any(1) ne_stacked = (df1 != df2).stack() changed = ne_stacked[ne_stacked] changed.index.names = ['行', '列']

    后面的 changed 是打印不同的地方,可以查看

    三、使用 Eq 比较两个数据

    1. import sys, sqlite3, pandas as pd files = [sys.argv[1], sys.argv[2]] files = ['./TempFiles/temp_77.csv', './TempFiles/temp_77_new.csv']df1 = pd.read_csv(files[0])df2 = pd.read_csv(files[1])print('使用 df.Eq 检测每一列是否相同:', False not in df3.all().values) df4 = pd.DataFrame(df4, columns=['列'])print(df4[df4['列'] == False])

    这个比较之后,是把每一列是否相等放到一个新的 Series 里面,然后看看是否包含 False

    三个方法看情况用吧,如果需要知道详情,那就后面两种方法。 https://blog.csdn.net/pz789as/article/details/104995676 ```