如何交叉连接2系列以使其成为熊猫的查找表?

问题描述 投票:0回答:2

我正在尝试创建一个包含ID和日期的交叉连接的引用表,并将该表用作左连接表来执行所有操作。请您提出如何通过交叉交叉创建两个序列的数据框的建议。

我已将序列1创建为:

df1 = pd.Series(pd.date_range(start='1/1/2017', end='1/1/2019', freq='MS'))
df2 = pd.Series(["AN", "BN", "CN"])

我想要一个df,例如:

id dt
AN 1-1-2017
AN 1-2-2017
..
BN 1-1-2017
BN 1-2-2017
..
CN 1-1-2017
CN 1-2-2017
and so on..
pandas cross-join
2个回答
2
投票

itertools.productitertools.product构造函数一起使用:

DataFrame

0
投票

这是使用from itertools import product df = pd.DataFrame(list(product(df2, df1)), columns=['id','dt']) #pandas 0.25+ list should be omit #df = pd.DataFrame((product(df2, df1)), columns=['id','dt']) print (df) id dt 0 AN 2017-01-01 1 AN 2017-02-01 2 AN 2017-03-01 3 AN 2017-04-01 4 AN 2017-05-01 .. .. ... 70 CN 2018-09-01 71 CN 2018-10-01 72 CN 2018-11-01 73 CN 2018-12-01 74 CN 2019-01-01 [75 rows x 2 columns] 的方法:

explode
© www.soinside.com 2019 - 2024. All rights reserved.