Pandas数据框的创建是由两个序列的排列组合吗?

3

我有一个包含两列数据的数据集

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

太好了。你能展示一下你尝试过的吗? - J Richard Snape
1个回答

6
您可以使用 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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接