gpt4 book ai didi

python - 如何组合字典不同键的每个值以在 Python 中生成数据框?

转载 作者:太空宇宙 更新时间:2023-11-04 04:15:20 24 4
gpt4 key购买 nike

我想从字典中创建一个参数网格,每个键都是一个参数名称,并且它们包含一个值列表。我想组合它们之间的所有值。

params = {'k1': [1, 2, 3], 'k2': [10, 20, 30]}

在 R 中,我可以使用 expand.grid 创建扩展列表。它创建了一个数据框:

> params <- list("k1" = c(1, 2, 3), "k2" = c(10, 20, 30))
> params
# $k1
# [1] 1 2 3
#
# $k2
# [1] 10 20 30

> expand.grid(params)
# k1 k2
# 1 1 10
# 2 2 10
# 3 3 10
# 4 1 20
# 5 2 20
# 6 3 20
# 7 1 30
# 8 2 30
# 9 3 30

有没有办法在 Python 中以直接的方式做到这一点?

观察。我需要生成此 data.frame。我不会使用 GridSearchCV

最佳答案

顺序会有点不同,但这是itertools.product的工作:

from itertools import product

pd.DataFrame(product(*params.values()), columns=params.keys())

k1 k2
0 1 10
1 1 20
2 1 30
3 2 10
4 2 20
5 2 30
6 3 10
7 3 20
8 3 30

在旧版本的 pandas 上,您可能需要先列出产品:

df = pd.DataFrame(list(product(*params.values())), columns=params.keys())

关于python - 如何组合字典不同键的每个值以在 Python 中生成数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55563582/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com