Python中高效地分割数据

5
考虑以下代码:

考虑以下代码

one, two = sales.random_split(0.5, seed=0)
set_1, set_2 = one.random_split(0.5, seed=0)
set_3, set_4 = two.random_split(0.5, seed=0)

我在这段代码中的目标是将我的数据在 Sales Sframe (类似于Pandas DataFrame)中随机分成大约四个相等的部分。

有什么Pythonic/高效的方法可以实现这一目标?


你能解释一下为什么这段代码不符合Pythonic或者效率不高吗?我看到的一个问题是创建的折叠数不是2的幂,但这似乎与你所问的不同。 - papayawarrior
1个回答

2
np.random.seed(0)
np.random.shuffle(arr) # in-place
sets = np.array_split(arr, 4)

您能否分享一下为什么这样更有效率的您的看法?我注意到您在使用NumPy,这意味着我需要将SFrame转换为NumPy数组。转换会不会增加额外的开销? - Khurram Majeed
@KhurramMajeed:我没有测试过它是否比你的原始代码更快,但我认为这段代码是高效和NumPythonic的。试试看,看看它是否可以加速。如果不行,也许还是坚持原来的吧。我相信你最后可以将“sets”转换回“Sframes”。 - John Zwinck

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接