Skip to main content
 首页 » 编程设计

python之如何填充包含两个不同表中项目的所有可能组合的新数据框

2025年05月04日21kuangbin

我有两个表如下: 表 1:

Type 
ABC 
DEF 

表 2:

Date 
12/1/2019 
1/1/2020 
2/1/2020 

我想用所有可能的组合填充一个新的 DataFrame,如下所示:

Type    Date 
ABC 12/1/2019 
ABC 1/1/2020 
ABC 2/1/2020 
DEF 12/1/2019 
DEF 1/1/2020 
DEF 2/1/2020 

请您参考如下方法:

看起来您想要此处两列的笛卡尔积。一种方法是使用 pd.MultiIndex.from_product ,它从多个可迭代对象的笛卡尔积创建一个 MultiIndex,并从索引构建一个数据框:

index = pd.MultiIndex.from_product([df1.Type.values, df2.Date.values],  
                                   names = ["Type", "Date"]) 
pd.DataFrame(index = index).reset_index() 
 
  Type       Date 
0  ABC  12/1/2019 
1  ABC   1/1/2020 
2  ABC   2/1/2020 
3  DEF  12/1/2019 
4  DEF   1/1/2020 
5  DEF   2/1/2020