Вы можете преобразовать 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