gpt4 book ai didi

python - 生成 n 倍的拆分索引

转载 作者:太空宇宙 更新时间:2023-11-04 06:54:57 27 4
gpt4 key购买 nike

我需要为交叉验证生成拆分,假设 s 是记录的索引

s = [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20]

现在我想随机打乱数据并将其拆分为 5 折,通常我想要这样的输出

s = [[1 5 4 6], [2,3, 19,20], [... ], [... ], [.. ]] 

注意:每个数组中的编号应该是唯一的,不能重复

我知道我可以使用 chunk() 但是在 chunk 中你只能像 1-4, 5-8,.... 那样按顺序做。

谁能帮我解决这个问题?

最佳答案

使用 random.shuffle 打乱你的数组并将其分成 5 block :

对于 Python2 使用

import random

s = range(1, 21)
random.shuffle(s)
s = [s[i::5] for i in range(5)]

或者对于 Python3:

import random

s = list(range(1, 21))
random.shuffle(s)
s = [s[i::5] for i in range(5)]

关于python - 生成 n 倍的拆分索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33398017/

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