python中怎么将数据集变成一行是一个_如何在python中分割一个巨大的文本数据集?...

我的机器学习项目的第一部分是将庞大的数据集分成3部分,然后将它们用作训练数据集和测试数据集。此数据集包括1000万行,如下所示:

上图是我的数据集截图。我不想更改列或行的顺序,所以random在这里不起作用。如您所见,它们是6列,由一个制表符分隔,包含1千万行。我想将这些行分成3个独立的部分,第一个3333333.333行是我的dataset1,然后第二个3333333.333行是dataset2,其余的是dataset3。所以3个不同的文本文件,组件(列)的顺序没有改变。

我正在使用Spyder3,我在您的帮助下编写了以下代码:f = open ( 'pr_data.txt' , 'r') """Reading File"""

l = [ map(float,line.strip().split()) for line in f ]

no_samples = len(l)

data1 = l[0:int(no_samples/3)][:]

data2 = l[int(no_samples/3):int(no_samples*2/3)][:]

data3 = l[int(no_samples*2/3):no_samples][:]

file = open('data1.txt','w')

for row in data1:

file.writelines(["%s\t" % item for item in row])

file.writelines("\n")

file.close()

file = open('data2.txt','w')

for row in data2:

file.writelines(["%s\t" % item for item in row])

file.writelines("\n")

file.close()

file = open('data3.txt','w')

for row in data3:

file.writelines(["%s\t" % item for item in row])

file.writelines("\n")

file.close()

通过上面的代码,3文本文件在同一个目录中创建,但问题是:数字的精度发生了变化。例如,0和1更改为0.0和1.0。而且,其中一些不在同一列中。请参见以下数据1第一行的屏幕截图:

请告诉我我的密码有多正确?在

你可能感兴趣的:(python中怎么将数据集变成一行是一个_如何在python中分割一个巨大的文本数据集?...)