如何根据百分比将列表分成两部分?

How to slice a list into 2 parts based on percentage?

我需要将我的阵列分成两部分,第一个需要前 90%,下一个应该有其余部分。但是我只得到第二个数组的更正结果。

例如:从 11500 我得到 1150 test_images 但我得到 11500 tain_images.

tain_images, test_images = np.split(imagesArr, [int(len(imagesArr)*0.9)])

你的代码对我有用。可能是您某处有错字,例如代码后面某处的 tain_images 中的错字。

你应该使用 sklearn train_test_split()

from sklearn.model_selection import train_test_split

train_images, test_images  = train_test_split(imagesArr, test_size=0.1)    

根据所需的测试数据集百分比更改test_size值。

对我有用:

import numpy as np
imagesArr = []
for i in range(11500):
    imagesArr.append(str(i+1))
imagesArr = np.array(imagesArr)
tain_images, test_images = np.split(imagesArr, [int(len(imagesArr)*0.9)])
print(len(tain_images))
print(len(test_images))

结果:

10350
1150