[英]How to make combination based on other column in Panda dataframe
我有一個帶有關鍵字列的數據框。 關鍵字列也有 2-7 個用逗號分隔的關鍵字。 例如:
URL Keywords
www.example.com "Keyword 1 , Keyword 2 , Keyword 3"
www.example2.com "Keyword 2, Keyword 4, Keyword 5"
.
.
.
我想要生成組合但只有兩個的輸出。 我實際上需要“TO”和“FROM”的值來進行可視化。 我希望以這種方式輸出
URL Keyword Combination
www.example.com Keyword 1, Keyword 2
www.example.com Keyword 1, Keyword 3
www.example.com Keyword 2, Keyword 1
www.example.com Keyword 2, Keyword 3
.
.
.
.
我認為使用ITERTOOLS是可能的,但我不確定如何實施。
嘗試itertools.permutation
、 itertools.chain
和df.explode
(對於熊貓 >= 0.25.0):
>>> lst = [[','.join(p) for p in permutations(val.split(','),2)] for val in df['Keywords']]
>>> df['Keywords'] = lst
>>> df.explode('Keywords')
URL Keywords
0 www.example.com Keyword 1 , Keyword 2
0 www.example.com Keyword 1 , Keyword 3
0 www.example.com Keyword 2 ,Keyword 1
0 www.example.com Keyword 2 , Keyword 3
0 www.example.com Keyword 3,Keyword 1
0 www.example.com Keyword 3, Keyword 2
1 www.example2.com Keyword 2, Keyword 4
1 www.example2.com Keyword 2, Keyword 5
1 www.example2.com Keyword 4,Keyword 2
1 www.example2.com Keyword 4, Keyword 5
1 www.example2.com Keyword 5,Keyword 2
1 www.example2.com Keyword 5, Keyword 4
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.