Python中数据的高效分割

Python中数据的高效分割,python,pandas,dataframe,sframe,Python,Pandas,Dataframe,Sframe,考虑以下代码 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(类似于Pandas DataFrame)中的数据随机分成大约4个相等的部分 什么是Pythonic/effective方法来实现这一点?请分享您的意见,说明为什么这更有效?我还看到您正

考虑以下代码

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
(类似于Pandas DataFrame)中的数据随机分成大约4个相等的部分


什么是Pythonic/effective方法来实现这一点?

请分享您的意见,说明为什么这更有效?我还看到您正在使用
NumPy
,这意味着我需要将
SFrame
转换为
NumPy数组
。它不会因为转换而增加开销吗?@ KurrMaMaDe:我还没有测试过它是否比原来的代码快,但是我认为这个代码是高效的和数字的。尝试一下,看看它是否能加快速度。如果没有,也许还是坚持你原来的想法。我相信,如果需要,您可以在最后将
集合
转换回
Sframes
。您能否澄清一下,为什么这不是Pythonic或高效的方法?我能看到的一个问题是,创建一个不是二次幂的折叠数,但这听起来与你所问的不同。
np.random.seed(0)
np.random.shuffle(arr) # in-place
sets = np.array_split(arr, 4)