python - 如何从两个列表创建 pandas 数据框,其中第一个列表的每个值将第二个列表的每个值作为记录

标签 python pandas

idst

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/

相关文章:

python - 日期滚动总和指数

python - wtforms SelectField 始终返回 None

python - 自定义 pip 安装命令未运行

python - Arduino 等待来自 Python 的串行数据

python - 在 python 中打印断言的成功消息

python - Pandas 操纵工作日日期范围的频率

python - 使用 pygame 在 Python 中通过按键加载图像

python - 将列附加到 Pandas 数据框

python - 使用 python 重新采样数据帧

python - 为列赋值时矛盾的 pandas.DataFrame 行为