Как получить комбинации группы из колонны в пандах - PullRequest
1 голос
/ 27 марта 2019

У меня есть df с ключевым словом столбца:

Keyword   
A          
A          
A         
B
B
B
C
C
D
D

Я делюсь на группы, используя следующий код

df_unique = df.groupby('Keyword').nunique()

Но я хочу комбинации уникальных групп из столбца.

о / р:

AB
AC
AD
BC
BD
CD

1 Ответ

1 голос
/ 27 марта 2019

Используйте combinations с пониманием списка и f-string s для кортежей соединений:

from  itertools import combinations
L = [f'{a}{b}' for a, b in combinations(df['Keyword'].unique(), 2)]
print (L)
['AB', 'AC', 'AD', 'BC', 'BD', 'CD']

df1 = pd.DataFrame({'comb':L})
print (df1)
  comb
0   AB
1   AC
2   AD
3   BC
4   BD
5   CD

Для 2 столбцов:

from  itertools import combinations
L1 = list(combinations(df['Keyword'].unique(), 2))
print (L1)
[('A', 'B'), ('A', 'C'), ('A', 'D'), ('B', 'C'), ('B', 'D'), ('C', 'D')]

df1 = pd.DataFrame(L1, columns=['comb1','comb2'])
print (df1)
  comb1 comb2
0     A     B
1     A     C
2     A     D
3     B     C
4     B     D
5     C     D
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...