python 读文件,然后转化为矩阵的实例

yipeiwu_com6年前Python基础

代码流程:

1. 从文件中读入数据。

2. 将数据转化成矩阵的形式。

3. 对于矩阵进行处理。

具体的python代码如下:

- 文件路径需要设置正确。

- 字符串处理。

- 字符串数组到 整型数组的转化。( nums = [int(x) for x in nums ])

- 矩阵的构造。(matrix = np.array(nums))

- numpy模块在矩阵处理上很有优势。

列表内容

# -*- coding: utf-8 -*-
import numpy as np
def readFile(path):
 # 打开文件(注意路径)
 f = open(path)
 # 逐行进行处理
 first_ele = True
 for data in f.readlines():
  ## 去掉每行的换行符,"\n"
  data = data.strip('\n')
  ## 按照 空格进行分割。
  nums = data.split(" ")
  ## 添加到 matrix 中。
  if first_ele:
   ### 将字符串转化为整型数据
   nums = [int(x) for x in nums ]
   ### 加入到 matrix 中 。
   matrix = np.array(nums)
   first_ele = False
  else:
   nums = [int(x) for x in nums]
   matrix = np.c_[matrix,nums]
 dealMatrix(matrix)
 f.close()
def dealMatrix(matrix):
 ## 一些基本的处理。
 print "transpose the matrix"
 matrix = matrix.transpose()
 print matrix
 print "matrix trace "
 print np.trace(matrix)
# test.
if __name__ == '__main__':
 readFile("matrix")

其中matrix文件中的内容如下:

0 0 0 1
1 0 1 0
1 0 1 1
1 1 1 1
1
2
3
4

python 构造m* n的矩阵

- 通过列表的方式(数组)进行生成矩阵。

- 该矩阵不适用于稀疏矩阵。(稀疏矩阵不会这样子进行构造)

- 注意:如果数据量特别大的时候,这种方法相当于将矩阵中的东西全部加载到内存中,如果行列达到10000+,最好考虑使用稀疏矩阵。(易出现 MemoryError)

- 稀疏矩阵的运算也应该考虑。

相关代码:

def fixed_matrix(row,col):
 return [[0 for i in range(col)] for j in range(row)]

以上这篇python 读文件,然后转化为矩阵的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

使用 Python 合并多个格式一致的 Excel 文件(推荐)

使用 Python 合并多个格式一致的 Excel 文件(推荐)

一 问题描述 最近朋友在工作中遇到这样一个问题,她每天都要处理如下一批 Excel 表格:每个表格的都只有一个 sheet,表格的前两行为表格标题及表头,表格的最后一行是相关人员签字。最...

Python Django 前后端分离 API的方法

步骤 根据之前的文章已经搭建好 Django的目录 开始流程 运行 manage.py 文件 # 创建一个app startapp ulb_manager settings.py...

Python的IDEL增加清屏功能实例

为idle增加一个清屏的扩展ClearWindow就可以了(在http://bugs.python.org/issue6143中可以看到这个扩展的说明)。 下面我说安装使用的方法。首先下...

python读取各种文件数据方法解析

python读取各种文件数据方法解析

python读取.txt(.log)文件 、.xml 文件 、excel文件数据,并将数据类型转换为需要的类型,添加到list中详解 1.读取文本文件数据(.txt结尾的文件)或日志文件...

Python利用全连接神经网络求解MNIST问题详解

Python利用全连接神经网络求解MNIST问题详解

本文实例讲述了Python利用全连接神经网络求解MNIST问题。分享给大家供大家参考,具体如下: 1、单隐藏层神经网络 人类的神经元在树突接受刺激信息后,经过细胞体处理,判断如果达到阈值...