Pandas 将数据框创建为 2 个系列的排列?

Pandas data-frame creation as permutations of 2 series?

我的数据集有两列

ColA ColB
1    1 
2    2
3    3

我想创建

的结果帧
ColA ColB
1    1
1    2
1    3
2    1
2    2
2    3
3    1
3    2
3    3

你可以用 itertools 来做这个

import pandas as pd
import itertools

创建原始数据框

df = pd.DataFrame([[1,2,3]]*2, index=['ColA', 'ColB']).T

排列您感兴趣的数据框的两列:

df2 = pd.DataFrame([e for e in itertools.product(df.ColA, df.ColB)], columns=df.columns)

df2
    ColA  ColB
0   1     1
1   1     2
2   1     3
3   2     1
4   2     2
5   2     3
6   3     1
7   3     2
8   3     3