【发布时间】:2023-03-10 11:50:01
【问题描述】:
我想要在 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
【问题讨论】:
我想要在 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
【讨论】:
我会在这里提出另一种方法,以防万一有人喜欢它。
下面的完整模型:
import pandas as pd
a = [1,2,3,4]
b = ['a', 'b']
df=pd.DataFrame([(y, x) for x in a for y in b], columns=['column1','column2'])
df
结果如下:
column1 column2
0 a 1
1 b 1
2 a 2
3 b 2
4 a 3
5 b 3
6 a 4
7 b 4
【讨论】: