pandas 表格对比
需求:根据两张表格内容进行对比,找到相同的内容,并将相同的内容进行相加。同时将不同的内容添加到表格的最后。整合两张表格。
import Pandas as pd
def compare_result(df, path_b):
df_a = df
df_b = integrete_data(path_b)
# find the same names
df_samea = df_a[df_a[para].isin(df_b[para])]
df_sameb = df_b[df_b[para].isin(df_a[para])]
df_samea.reset_index(drop=True, inplace=True)
df_sameb.reset_index(drop=True, inplace=True)
# get unique items in df_a
df_uniquea = df_a.append(df_samea)
df_uniquea.drop_duplicates(keep=False,inplace=True)
df_uniquea.reset_index(drop=True, inplace=True)
# get unique items in df_b
df_uniqueb = df_b.append(df_sameb)
df_uniqueb.drop_duplicates(keep=False,inplace=True)
df_uniqueb.reset_index(drop=True, inplace=True)
# compute samea and sameb
df_samea = df_samea.sort_values(by=[para])
df_sameb = df_sameb.sort_values(by=[para])
df_samea[para] = df_samea[para] + df_sameb[para]
df_samea.reset_index(drop=True, inplace=True)
df = df_samea.append(df_uniquea)
df = df.append(df_uniqueb)
df.reset_index(drop=True, inplace=True)
print(df)
return df
代码运行后,可将表格内容进行区分,相同部分进行计算复合,不同部分添加到新表中。