熊猫:合并没有连接列的数据框

时间:2020-03-19 12:55:32

标签: pandas merge

我有3个不同的数据框,每个框只有一列-一个带有'store'列,另一个带有'brand'列,另一个带有'date'列。 我打算获得所有可能的组合。我尝试了合并功能,但是由于没有连接列,所以无法。

有人可以告诉我使用什么命令吗?

谢谢。

1 个答案:

答案 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'])