【Python】数据降维

背景

为了匹配下一个环节的输入,需要将手头已有的 n x 3 维的 txt文件转换为 1024 x 3维的数据,n可能比1024大也可能比1024小。大于1024维的数据进行随机采样,小于1024维的数据先复制内容进行扩充到大于1024,然后降维。

代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import json, os, re
import random
import numpy as np

source_file = 'part0.txt'
result_file = 'part0_new.txt'

if os.path.exists(result_file):
	with open(result_file,"r+") as f:
		f.truncate()
if os.path.isfile(source_file):
	with open(source_file,'r',encoding='UTF-8') as f:
		lines = f.readlines()  # 每行读如数据
		a = []
		print(len(lines))
		for i in lines:
			i = i.replace('\n', '')
			a.append(i)  # 把每一行添加到列表中

		while len(a) < 1024:  # 对小于1024维的数据先复制原有列表进行扩充
			a.extend(a)
		samples = random.sample(a, 1024)  # 对超过1024维的数据,随机抽取行降维到1024
		print(len(samples))

	str = '\n'
	with open(result_file, 'a+', encoding='utf-8') as f1:
		f1.write(str.join(samples))  # 写入
		f1.close()

	print("change compeleted !!!")
else:
	print("文件不存在。。。。")

【Python】数据降维

参考链接

上一篇:包....


下一篇:Python让繁琐的工作自动化第六章实践项目