我有一个带有三个字符串列的PANDAS数据框,看起来像这样:
Name Surname MiddleName
James Bond A
Maggie Sweenie B
我想在表中创建一种外部联接,以便输出名称,姓氏和中间名的每种可能的组合。我正在寻找的输出是:
Name Surname MiddleName
James Bond A
Maggie Sweenie B
James Sweenie A
James Sweenie B
Maggie Bond A
Maggie Bond B
有什么想法是最有效的方法吗?
最佳答案
IIUC使用product
import itertools
yourdf=pd.DataFrame(list(itertools.product(*df.values.T.tolist())),columns=df.columns)
yourdf
Out[937]:
Name Surname MiddleName
0 James Bond A
1 James Bond B
2 James Sweenie A
3 James Sweenie B
4 Maggie Bond A
5 Maggie Bond B
6 Maggie Sweenie A
7 Maggie Sweenie B