Получите ближайшие низкие и высокие значения в нескольких столбцах фрейма данных.Python

Программы на Python
Anonymous
Получите ближайшие низкие и высокие значения в нескольких столбцах фрейма данных.

Сообщение Anonymous »

У меня есть такой фрейм данных:

Код: Выделить всё

import pandas as pd

id = [1001, 1002, 1003]
a = [156, 224, 67]
b = [131, 203, 61]
c = [97, 165, 54]
d = [68, 122, 50]
value = [71, 180, 66]

df = pd.DataFrame({'id':id, 'a':a, 'b':b, 'c':c, 'd':d, 'value':value})



id
a
b
c
d
значение




1001
156
131
97
68
71


1002
224
203
165
122
180


1003
67
61
54
50
66




Для каждой строки я хотел бы оценить столбцы a-d и внутри них определить следующий самый низкий и следующий самые высокие значения по сравнению с значением. Итак, в этом примере ожидаемый результат будет выглядеть так:




id
a
b
c
d
value
nxt_low
nxt_high




1001
156
131
97
68
71
68
97


1002
224
203
165
122
180
165
203


1003
67
61
54
50
66
61
67




Я пытался создать один столбец с массивом numpy из a-d и пытался выполнить некоторые операции таким образом, но я не применяю его правильно и не смог получить желаемый результат. Любая помощь очень ценится.

Вернуться в «Python»