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

时间:2016-01-20 17:19:46

标签: python pandas sequences

我的数据集有两列

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

1 个答案:

答案 0 :(得分:2)

您可以将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