3 回答

TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個(gè)贊
這是一個(gè)可能的解決方案:
arrays = [np.concatenate((g, r))
for g, r in zip(np.array_split(files[labels==1], 10),
np.array_split(files[labels==0], 10))]
此解決方案保留“GAN*”和“RAW*”文件的相對(duì)順序。此外,創(chuàng)建的數(shù)組的初始位置填充有“GAN*”文件,其余位置填充有“RAW*”文件。如果您對(duì)這種排序不滿意,您可以在創(chuàng)建每個(gè)數(shù)組后隨時(shí)對(duì)其進(jìn)行洗牌。

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超5個(gè)贊
這是一個(gè)沒(méi)有循環(huán)的解決方案(由@Crazy Coder在其他答案的評(píng)論中建議):
labels = np.array(labels, dtype=bool)
np.split(np.vstack((files[labels],files[~labels])).T.reshape(-1,1), 10)

TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊
import numpy as np
#Read file names
file_names=np.genfromtxt('test_files.txt',dtype='str')
? ?
raw_vector=[]
gan_vector=[]
for i in range(0,file_names.shape[0]):
? ? image_name=file_names[i]
? ? #Separate RAW and GAN files
? ? if("RAW_" in image_name):
? ? ? ? raw_vector.append(image_name)
? ? if("GAN_" in image_name):
? ? ? ? gan_vector.append(image_name)
? ??
raw_vector=np.array(raw_vector)
gan_vector=np.array(gan_vector)
#Split into 10 subsets each
raw_vector_divided=np.split(raw_vector,10)
gan_vector_divided=np.split(gan_vector,10)
for j in range(0,10):
? ? x=raw_vector_divided[j]
? ? y=gan_vector_divided[j]
? ??
? ? x=x.reshape(x.shape[0],1)
? ? y=y.reshape(y.shape[0],1)
? ??
? ? #merge
? ? experiment_data=np.vstack((x,y))
? ??
? ? #Save subset as file
? ? np.savetxt( 'experiment-' + str(j+1) + '-data.txt',? experiment_data, fmt='%s')
print("finished")?
添加回答
舉報(bào)