现在有原始数据 ID (ID 有几千个)和每个ID的评分 如图所示
现在要实现如下排序功能,就是用每个ID跟其余的ID依次进行成对比较: 如图所示
前一个ID比后一个ID的得分高则对比结果是1,得分相同为0, 得分低的话输出结果为-1
因为ID 有几百个,所以需要一个通用的代码。最后输出的是这个对比结果的list.
现在有原始数据 ID (ID 有几千个)和每个ID的评分 如图所示
现在要实现如下排序功能,就是用每个ID跟其余的ID依次进行成对比较: 如图所示
前一个ID比后一个ID的得分高则对比结果是1,得分相同为0, 得分低的话输出结果为-1
因为ID 有几百个,所以需要一个通用的代码。最后输出的是这个对比结果的list.
改下你自己的路径 ,path1,path2 ,其他不用动
import pandas as pd
from itertools import combinations
path1='D:/aaa.csv' #输入数据路径
path2='D:/bbb.csv' #导出数据路径
df1=pd.read_csv(path1)
zh=list(combinations(df1.ID,2))
res=[]
for i in zh:
v1=float(df1[df1.ID==i[0]].Score)
v2=float(df1[df1.ID==i[1]].Score)
if v1>v2:
res.append([i[0],i[1],1])
elif v1==v2:
res.append([i[0],i[1],0])
else:
res.append([i[0],i[1],-1])
pd.DataFrame(res,columns=['ID','ID','对比']).to_csv(path2,index=0)