Я новичок в питоне и пандах. Здесь у меня есть датафрейм, который выглядит как
Id Offset feature
0 0 2
0 5 2
0 11 0
0 21 22
0 28 22
1 32 0
1 38 21
1 42 21
1 52 21
1 55 0
1 58 0
1 62 1
1 66 1
1 70 1
2 73 0
2 78 1
2 79 1
Теперь в этом df у меня есть столбец функций. Я пытаюсь сделать некоторые операции в этом столбце. Этот столбец имеет несколько значений. Он также имеет значение 0
. Теперь я хочу заменить это значение на основе предыдущих и следующих трех значений этого 0.
Если мы видим, первый 0, который имеет предыдущие значения, равен [2,2], поскольку это первое, так чтотретий не получится, а следующие три - [22,22,0].
Теперь я пытаюсь получить следующий фрейм данных
Ожидаемый результат
Offset feature previous Next NewFeature
0 2 - - 2
5 2 - - 2
11 0 [2,2] [22,22,0] 0
21 22 - - 22
28 22 - - 22
32 0 [22,22,0] [21,21,21] 0
38 21 - - 21
42 21 - - 21
52 21 - - 21
55 0 [21,21,21] [0,1,1] 0
58 0 [0,21,21] [1,1,1] 0
62 1 - - 1
66 1 - - 1
70 1 - - 1
73 0 [1,1,1] [1,1] 1
78 1 - - 1
79 1 - - 1
Итак, в этом я пытаюсь проверить, совпадают ли предыдущие и следующие значения или нет.
Есть ли способ получить этот кадр данных? Как получить предыдущее и следующее значения в этом кадре данных? любая помощь будет отличной. Спасибо
Итак, логика для получения newFeature
такова. Здесь у меня есть список возможностей, который,
1, 2, 16,15,26,25
if the previous and next array has values like, (1,16,15) then it is the same as 1. and if it is from (2,26,25) then we can replace it with the 2.
Здесь, если
previous values are [1,16,2] and next are [1,26,1] then in this as I said earlier (1,16,15) are 1 only .. so the number of 1 are more than 2 so, the 0 will get replaced by 1. and 26 will become 2
, как это станет [1,1,2] и [1,2,1]
Итак, вот так. даже приведенные данные также мы можем использовать.