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

python 构造m* n的矩阵


- 通过列表的方式(数组)进行生成矩阵。
- 该矩阵不适用于稀疏矩阵。(稀疏矩阵不会这样子进行构造)
- 注意:如果数据量特别大的时候,这种方法相当于将矩阵中的东西全部加载到内存中,如果行列达到10000+,最好考虑使用稀疏矩阵。(易出现 MemoryError
- 稀疏矩阵的运算也应该考虑。

相关代码:

def fixed_matrix(row,col):
    return [[0 for i in range(col)] for j in range(row)]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值