Как получить уникальные значения из столбца на строковых данных с обработкой файла в python - PullRequest
0 голосов
/ 06 февраля 2020

Вот как выглядят мои данные: ВСЕ ЭТИ ДАННЫЕ В ОДНОМ КОЛОННЕ

#columnA
(8,8)
(6,7)(7,7)(7,6)
(2,12)(12,3)(3,4)(4,12)(12,12)
(14,14)
(1,1)(1,12)(12,2)(2,2)(2,4)
(6,8)(8,8)(8,12)
(6,6)(6,3)(3,14)
(1,14)(14,14)(14,1)(1,1)(1,2)
(1,1)(1,14)
(2,2)(2,15)(15,5)(5,5)(5,16)
(1,11)(11,1)(1,2)(2,2)(2,14)
(5,5)(5,1)
(12,2)(2,2)(2,10)(10,10)
(9,9)(9,4)(4,4)
(13,13)
(1,1)
(11,14)(14,14)



for i in range(len(data)):
    x.iloc[i]=data.iloc[i].unique()

вывод заменяет повторяющиеся значения и находит уникальные:

Ответы [ 2 ]

1 голос
/ 06 февраля 2020

IIU C, используйте pandas.Series.str.findall с explode и unique:

uniq = df['columnA'].str.findall("(\d+),(\d+)").explode().unique()
uniq

Выход:

array([('8', '8'), ('6', '7'), ('7', '7'), ('7', '6'), ('2', '12'),
       ('12', '3'), ('3', '4'), ('4', '12'), ('12', '12'), ('14', '14'),
       ('1', '1'), ('1', '12'), ('12', '2'), ('2', '2'), ('2', '4'),
       ('6', '8'), ('8', '12'), ('6', '6'), ('6', '3'), ('3', '14'),
       ('1', '14'), ('14', '1'), ('1', '2'), ('2', '15'), ('15', '5'),
       ('5', '5'), ('5', '16'), ('1', '11'), ('11', '1'), ('2', '14'),
       ('5', '1'), ('2', '10'), ('10', '10'), ('9', '9'), ('9', '4'),
       ('4', '4'), ('13', '13'), ('11', '14')], dtype=object)
1 голос
/ 06 февраля 2020

Как насчет хранения всех данных в списке и поиска набора списка. например, если у меня есть список наборов или список списков в форме:

list = [(1,1), (2,3), (2,3), (1,3), (1,3), (1,1)]
set_of_list = set(list)

>>> {(1,3), (2,3), (1,1)}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...