代码流程:
1. 从文件中读入数据。
3. 对于矩阵进行处理。
具体的python代码如下:
- 文件路径需要设置正确。
- 字符串处理。
- 字符串数组到 整型数组的转化。( nums = [int(x) for x in nums ])
- 矩阵的构造。(matrix = np.array(nums))
- numpy模块在矩阵处理上很有优势。
列表内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# -*- 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文件中的内容如下:
1
2
3
4
5
6
7
8
|
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)
- 稀疏矩阵的运算也应该考虑。
相关代码:
1
2
|
def fixed_matrix(row,col): return [[0 for i in range(col)] for j in range(row)] |
以上这篇python 读文件,然后转化为矩阵的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/TheSnowBoy_2/article/details/53203280