由于我不确定该如何称呼,因此标题可能不清楚这个问题。我想要实现的是Pandas中的以下内容:
a = [1,2,3,4] b = ['a','b']
我可以创建一个数据框吗?
column1 column2
'a' 1
'a' 2
'a' 3
'a' 4
'b' 1
'b' 2
'b' 3
'b' 4
答案 0 :(得分:8)
将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 bellow
#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
答案 1 :(得分:0)
如果有人喜欢的话,我会在这里放另一种方法。
下面的完整模型:
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