Как получить строки на основе повторяющегося значения в конкретном столбце в Pandas Python? - PullRequest
0 голосов
/ 23 ноября 2018

Допустим, у нас есть данные следующим образом:

 A       B
123     John
456     Mary
102     Allen
456     Nickolan
123     Richie    
167     Daniel

Мы хотим получить извлекаемые строки на основе столбца A, если они дублируются, а затем сохранить их в разных фреймах с этим кодовым именем.

[123  John, 123  Richie], These both will be stored in df_123
[456 Mary, 456 Nickolan], These both will be stored in df_456
[102 Allen] will be stored in df_102
[167 Daniel] will be stored in df_167

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 23 ноября 2018

groupby + tuple + dict

Создание переменного числа переменных не рекомендуется.Вы можете использовать словарь:

dfs = dict(tuple(df.groupby('A')))

И это все.Чтобы получить доступ к фрейму данных, где A == 123, используйте dfs[123] и т. Д.

Обратите внимание, что ваши фреймы данных теперь являются отдельными объектами.Вы больше не можете выполнять операции с dfs и применять их к каждому значению кадра данных без цикла уровня Python.

0 голосов
/ 23 ноября 2018

сгруппируйте, а затем воспользуйтесь списком, который вернет список фреймов данных на основе группы:

group = df.groupby('A')
dfs = [group.get_group(x) for x in group.groups]

[     A       B
 2  112   Allen
 5  112  Daniel,      A       B
 0  123    John
 4  123  Richie,      A         B
 1  456      Mary
 3  456  Nickolan]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...