您可以将 df 转换为列表,然后执行以下操作:
l=[1,10,26,50,6,15,1,5,11,25]
result=[]
for x in range(int(len(l)/2)):
result.append(sorted([l[2*x],l[2*x+1]])[1])
result.append(sorted([l[2*x],l[2*x+1]])[0])
这会给你result:
[1, 10, 26, 50, 6, 15, 1, 5, 11, 25]
要将原始 df 转换为列表,您可以这样做:
startcollist=df['start'].values.tolist()
endcollist=df['end'].values.tolist()
l=[]
for index, each in enumerate(originaldf):
l.append(each)
l.append(endcollist[index])
然后您可以将result 转换回数据框:
df=pd.DataFrame({'start':result[1::2], 'end':result[0::2]})
给出结果:
end start
0 10 1
1 50 26
2 15 6
3 5 1
4 25 11
表达式result[1::2] 给出result 的每一个奇数元素,result[0::2] 给出每一个偶数元素。解释见这里:https://stackoverflow.com/a/12433705/8565438