numpy应用---txt文件转化成矩阵

本文详细介绍如何将TXT文件中的数据转换为矩阵形式,包括代码实现及分步解释,适合初学者理解数据处理流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

折腾了大半天,终于搞懂了txt文件中的数据转换成矩阵的过程,这个问题网上的完整解释不太多,自己搞出来了一个成功的版本。

数据下载地址

完整代码如下:

(为啥我的代码不是彩色的啊!丑丑的)

from numpy import *
file = open("/Users/zhaoyueqing/Desktop/train_linear.txt")

filelist = file.readlines()
lenghth = len(filelist)

to_mat= zeros((lenghth,2)) #这里2指想要转化成矩阵是2列的,数据是几列就初始化成几。

index = 0
file = open("/Users/zhaoyueqing/Desktop/train_linear.txt")

for data in file.readlines():
    data = data.strip('\n')
    nums = data.split("    ")
    nums = [float(x) for x in nums]
    to_mat[index,:] = nums[:]
    index +=1
print(to_mat)   
print(type(to_mat))
to_mat = matrix(to_mat)
print(to_mat)
print(type(to_mat))

分步解释代码:

首先,打开文件

file = open("/Users/zhaoyueqing/Desktop/train_linear.txt")

然后,读取文件的每一行,将每一行储存成列表的形式。

filelist = file.readlines()

具体是酱紫的:
在这里插入图片描述
获取数据的行数,也就是文件列表中值的个数,因为一行是列表中的一个元素:

lenghth = len(filelist)

首先,初始化一个全0矩阵:

to_mat= zeros((lenghth,2))

长这样!

在这里插入图片描述

下面为啥我又打开了一次文件呢?因为我不会啊!!没想到吧!!T^T
我运行过程中发现运行到上一步的时候文件已经自动关闭了,我没找到怎么解决的办法,所以只能重新打开一次,如果有人明白这里希望指点一下。

file = open("/Users/zhaoyueqing/Desktop/train_linear.txt")

重点来了,下面是一个循环,具体意思是把列表里的空格和换行符都去掉,然后转换成数字的形式,将列表中的数据一行一行的替换掉刚刚建立的全0矩阵。

for data in file.readlines():
    data = data.strip('\n')
    nums = data.split("    ") #这里原文件中两个数据间有多少个空格就打多少个,不然会出错
    nums = [float(x) for x in nums]
    to_mat[index,:] = nums[:]
    index +=1

这段可以在每一步都测试一下结果,print出来比较容易看懂。

最后打印,转换之后的是数组的形式,可以直接用matrix函数转化成矩阵。

print(to_mat)   
print(type(to_mat))
to_mat = matrix(to_mat)
print(to_mat)
print(type(to_mat))

结果:
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值