我有3个不同的数据框,每个框只有一列-一个带有'store'列,另一个带有'brand'列,另一个带有'date'列。 我打算获得所有可能的组合。我尝试了合并功能,但是由于没有连接列,所以无法。
有人可以告诉我使用什么命令吗?
谢谢。
答案 0 :(得分:1)
使用Series
的{{3}}并传递给DataFrame
构造函数:
from itertools import product
df1 = pd.DataFrame({'store':list('abc')})
df2 = pd.DataFrame({'brand':list('zyzw')})
df3 = pd.DataFrame({'date':['2019-01-10','2010-09-06']})
df = pd.DataFrame(product(df1['store'], df2['brand'], df3['date']),
columns=['store','brand','date'])
print (df)
store brand date
0 a z 2019-01-10
1 a z 2010-09-06
2 a y 2019-01-10
3 a y 2010-09-06
4 a z 2019-01-10
5 a z 2010-09-06
6 a w 2019-01-10
7 a w 2010-09-06
8 b z 2019-01-10
9 b z 2010-09-06
10 b y 2019-01-10
11 b y 2010-09-06
12 b z 2019-01-10
13 b z 2010-09-06
14 b w 2019-01-10
15 b w 2010-09-06
16 c z 2019-01-10
17 c z 2010-09-06
18 c y 2019-01-10
19 c y 2010-09-06
20 c z 2019-01-10
21 c z 2010-09-06
22 c w 2019-01-10
23 c w 2010-09-06
对于较旧的熊猫版本,请添加list
:
df = pd.DataFrame(list(product(df1['store'], df2['brand'], df3['date'])),
columns=['store','brand','date'])