id
和 st
id = [243,2352,474, 84,443]
st = [1,3,5,9,2,6,7]
我希望使用它们创建一个 pandas 数据框 df
,以便列表 id
的每个值都具有 st
列表中的所有值。
我的预期输出是这样的:
id st
243 1
243 3
243 5
243 9
243 2
243 6
243 7
2352 1
2352 3
2352 5
2352 9
2352 2
2352 6
2352 7
等等...
如何创建相同的 pandas 数据框?
最佳答案
使用itertools.product
使用 DataFrame
构造函数:
from itertools import product
#pandas 0.24+
df = pd.DataFrame(product(id, st), columns = ['id','st'])
#pandas below
#df = pd.DataFrame(list(product(id, st)), columns = ['id','st'])
<小时/>
print (df)
id st
0 243 1
1 243 3
2 243 5
3 243 9
4 243 2
5 243 6
6 243 7
7 2352 1
8 2352 3
9 2352 5
10 2352 9
11 2352 2
12 2352 6
13 2352 7
14 474 1
15 474 3
16 474 5
17 474 9
18 474 2
19 474 6
20 474 7
21 84 1
22 84 3
23 84 5
24 84 9
25 84 2
26 84 6
27 84 7
28 443 1
29 443 3
30 443 5
31 443 9
32 443 2
33 443 6
34 443 7
关于python - 如何从两个列表创建 pandas 数据框,其中第一个列表的每个值将第二个列表的每个值作为记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56071964/