Skip to main content
 首页 » 编程设计

python之从 2 个列表的笛卡尔积创建新的 DataFrame

2025年05月04日10unruledboy

我想在 Pandas 中实现以下目标:

a = [1,2,3,4] 
b = ['a', 'b'] 

我可以创建一个 DataFrame 吗:

column1 column2 
'a'        1 
'a'        2 
'a'        3 
'a'        4 
'b'        1 
'b'        2 
'b'        3 
'b'        4 

请您参考如下方法:

使用itertools.product使用 DataFrame 构造函数:

a = [1, 2, 3, 4] 
b = ['a', 'b'] 
 
from itertools import product 
 
# pandas 0.24.0+ 
df = pd.DataFrame(product(b, a), columns=['column1', 'column2']) 
# pandas below  
# df = pd.DataFrame(list(product(b, a)), columns=['column1', 'column2']) 
print (df) 
  column1  column2 
0       a        1 
1       a        2 
2       a        3 
3       a        4 
4       b        1 
5       b        2 
6       b        3 
7       b        4