我爱编程

使用pandas做数据集diff分析

2018-05-18  本文已影响0人  小小兰哈哈

应用场景:

使用pandas工具对比不同模型的结果数据,查看diff

具体使用说明:

首先加载两份数据,使用read_csv加载,并使用drop_duplicates去重

df1 = pd.read_csv(sys.argv[1]) df2 = pd.read_csv(sys.argv[2]) df1.drop_duplicates(subset=['id'], inplace=True) df2.drop_duplicates(subset=['id'], inplace=True)

使用apply函数对dataframe中的内容进行处理,在这里,需要对每一列计算一个最佳分值,作为模型的最佳分值。

df1['score'] = df1.apply(score_get, axis=1)

df2['score'] = df1.apply(score_get, axis=1)

df1n = df1[df1['score']>thre_num]

df2n = df2[df2['score']>thre_num]


对两个模型的结果通过唯一的id做merge,在一个矩阵里面存储两个模型的得分:

df_merge= pd.merge(df1n , df2n, how= 'left' , on=['id']) df_merge.to_csv('merge_end', sep="\t")


对新的矩阵df_merge的两列score_x,score_y做减法,看效果:

df_merge['var'] = df_merge.apply(lambda x:(abs(x['score_x'] - x['score_y'])), axis=1)

df_mn = df_merge

df_mn = df_mn.sort_values(by=['var'],ascending=False)

上一篇下一篇

猜你喜欢

热点阅读