Удаление строк, чтобы сохранить последовательные повторяющиеся значения – pandasPython

Программы на Python
Ответить
Anonymous
 Удаление строк, чтобы сохранить последовательные повторяющиеся значения – pandas

Сообщение Anonymous »

Я пытаюсь удалить строки, в которых значения в определенном столбце не дублируются как минимум в трех последовательных строках. Используя приведенный ниже df, я хочу удалить строки, в которых последовательные значения в коде меньше 3.

df = pd.DataFrame({
'Time' : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],
'ID' : ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C'],
'Code' : ['X', 'X', 'X', 'Y', 'Y', 'X', 'X', 'Y', 'Y', 'Y', 'Y', 'Y', 'X', 'X', 'X'],
'X' : [3, 4, 5, 1, 2, 5, 6, 2, 1, 6, 7, 2, 7, 8, 1],
'Y' : [2, 4, 5, 1, 2, 5, 5, 2, 2, 6, 5, 1, 5, 4, 1],
})

m = (df["Code"].eq(df["Code"].shift()) | df["Code"].eq(df["Code"].shift(-3)))

print (df[m])


Предполагаемый результат:

Time ID Code X Y
0 1 A X 3 2
1 2 A X 4 4
2 3 A X 5 5
7 8 B Y 2 2
8 9 B Y 1 2
9 10 B Y 6 6
10 11 C Y 7 5
11 12 C Y 2 1
12 13 C X 7 5
13 14 C X 8 4
14 15 C X 1 1


Подробнее здесь: https://stackoverflow.com/questions/610 ... ues-pandas
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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