问题
有样本文件 dataSample_new.csv , 从该样本文件中抽取2/3作为训练样本,共抽取十次,并且保证每次的训练样本不同。
#导包
import numpy as np
import pandas as pd
import gdal
import os
import glob
import random
#获取文件,定义训练样本大小
my_path = r'G:\2018LZQ' #文件路径
path = r'G:\2018LZQ\dataSample_new.csv' #原始样本文件
target = pd.read_csv(path,header=None,sep=',')
target_rows = target.shape[0] #样本文件的行数
trans_rows = int(target_rows*0.66) #训练样本的行数,占原样本的2/3
#对原样本文件抽取训练样本,抽取10个
for i in range(10):
#在原样本文件中随机选取2/3行,并存入列表
target_list = random.sample(range(1,target_rows),trans_rows)
#根据列表中的行号提取原样本中的行,存放到新的datafram中
new_csv = target.iloc[target_list]
#命名训练样本名称
new_name = "train"+str(i)+'.csv'
csv_name = os.path.join(my_path,new_name)
#将训练样本存入文件
new_csv.to_csv(csv_name,header=None,index=False)
print(new_name)