假设我有以下系列:
0 A
1 B
2 C
dtype: object
0 1
1 2
2 3
3 4
dtype: int64
如何合并它们以使用值的所有可能组合创建一个空数据框,如下所示:
letter number
0 A 1
1 A 2
2 A 3
3 A 4
4 B 1
5 B 2
6 B 3
7 B 4
8 C 1
9 C 2
10 C 3
11 C 4
答案 0 :(得分:5)
假设2个系列分别为s
和s1
,请使用itertools.product()
给出输入可迭代项的笛卡尔积:
import itertools
df = pd.DataFrame(list(itertools.product(s,s1)),columns=['letter','number'])
print(df)
letter number
0 A 1
1 A 2
2 A 3
3 A 4
4 B 1
5 B 2
6 B 3
7 B 4
8 C 1
9 C 2
10 C 3
11 C 4
答案 1 :(得分:0)
如果您有2个Series
s1
和s2
。
您可以这样做:
pd.DataFrame(index=s1,columns=s2).unstack().reset_index()[["s1","s2"]]
它将为您提供以下信息
s1 s2
0 A 1
1 B 1
2 C 1
3 A 2
4 B 2
5 C 2
6 A 3
7 B 3
8 C 3
9 A 4
10 B 4
11 C 4