Получить все различные типы шаблонов вхождений элементов в столбце данных - PullRequest
0 голосов
/ 03 апреля 2019

У меня есть этот набор данных, который содержит только один столбец. Что мне нужно выяснить, так это все шаблоны, в которых данные расположены в этом конкретном столбце

Я пытался что-то сделать с помощью функции pd.duplicated(). Но это не дает должного результата.

Например:

набор данных:

Column A
[1,2,3,1,2,3,4,1,2,3,1,2,3,4]

Требуемый результат должен быть [1,2,3], [1,2,3,4], [1,2], [3,1,2] и т. Д.

Решение может быть достигнуто независимо от пакетов в Python.

1 Ответ

0 голосов
/ 03 апреля 2019

Старая добрая старомодная двойная петля не элегантна, но будет работать:

Я добавляю в качестве кортежей, чтобы я мог использовать set(...) для удаления дубликатов.

ls = [1,2,3,1,2,3,4,1,2,3,1,2,3,4]

set([tuple(ls[i:j+1]) for i in range(len(ls)) for j in range(i, len(ls))])

выход

{(1,),
 (1, 2),
 (1, 2, 3),
 (1, 2, 3, 1),
 (1, 2, 3, 1, 2),
 (1, 2, 3, 1, 2, 3),
 (1, 2, 3, 1, 2, 3, 4),
 (1, 2, 3, 1, 2, 3, 4, 1),
 (1, 2, 3, 1, 2, 3, 4, 1, 2),
 (1, 2, 3, 1, 2, 3, 4, 1, 2, 3),
 (1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 1),
 (1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 1, 2),
 (1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 1, 2, 3),
 (1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 1, 2, 3, 4),
 (1, 2, 3, 4),
 (1, 2, 3, 4, 1),
 (1, 2, 3, 4, 1, 2),
 (1, 2, 3, 4, 1, 2, 3),
 (1, 2, 3, 4, 1, 2, 3, 1),
 (1, 2, 3, 4, 1, 2, 3, 1, 2),
 (1, 2, 3, 4, 1, 2, 3, 1, 2, 3),
 (1, 2, 3, 4, 1, 2, 3, 1, 2, 3, 4),
 (2,),
 (2, 3),
 (2, 3, 1),
 (2, 3, 1, 2),
 (2, 3, 1, 2, 3),
 (2, 3, 1, 2, 3, 4),
 (2, 3, 1, 2, 3, 4, 1),
 (2, 3, 1, 2, 3, 4, 1, 2),
 (2, 3, 1, 2, 3, 4, 1, 2, 3),
 (2, 3, 1, 2, 3, 4, 1, 2, 3, 1),
 (2, 3, 1, 2, 3, 4, 1, 2, 3, 1, 2),
 (2, 3, 1, 2, 3, 4, 1, 2, 3, 1, 2, 3),
 (2, 3, 1, 2, 3, 4, 1, 2, 3, 1, 2, 3, 4),
 (2, 3, 4),
 (2, 3, 4, 1),
 (2, 3, 4, 1, 2),
 (2, 3, 4, 1, 2, 3),
 (2, 3, 4, 1, 2, 3, 1),
 (2, 3, 4, 1, 2, 3, 1, 2),
 (2, 3, 4, 1, 2, 3, 1, 2, 3),
 (2, 3, 4, 1, 2, 3, 1, 2, 3, 4),
 (3,),
 (3, 1),
 (3, 1, 2),
 (3, 1, 2, 3),
 (3, 1, 2, 3, 4),
 (3, 1, 2, 3, 4, 1),
 (3, 1, 2, 3, 4, 1, 2),
 (3, 1, 2, 3, 4, 1, 2, 3),
 (3, 1, 2, 3, 4, 1, 2, 3, 1),
 (3, 1, 2, 3, 4, 1, 2, 3, 1, 2),
 (3, 1, 2, 3, 4, 1, 2, 3, 1, 2, 3),
 (3, 1, 2, 3, 4, 1, 2, 3, 1, 2, 3, 4),
 (3, 4),
 (3, 4, 1),
 (3, 4, 1, 2),
 (3, 4, 1, 2, 3),
 (3, 4, 1, 2, 3, 1),
 (3, 4, 1, 2, 3, 1, 2),
 (3, 4, 1, 2, 3, 1, 2, 3),
 (3, 4, 1, 2, 3, 1, 2, 3, 4),
 (4,),
 (4, 1),
 (4, 1, 2),
 (4, 1, 2, 3),
 (4, 1, 2, 3, 1),
 (4, 1, 2, 3, 1, 2),
 (4, 1, 2, 3, 1, 2, 3),
 (4, 1, 2, 3, 1, 2, 3, 4)}
...