您好,登錄后才能下訂單哦!
這篇文章主要介紹了如何在python中將讀取的文件轉(zhuǎn)換為矩陣,億速云小編覺(jué)得不錯(cuò),現(xiàn)在分享給大家,也給大家做個(gè)參考,一起跟隨億速云小編來(lái)看看吧!
Python是一種編程語(yǔ)言,內(nèi)置了許多有效的工具,Python幾乎無(wú)所不能,該語(yǔ)言通俗易懂、容易入門(mén)、功能強(qiáng)大,在許多領(lǐng)域中都有廣泛的應(yīng)用,例如最熱門(mén)的大數(shù)據(jù)分析,人工智能,Web開(kāi)發(fā)等。
代碼流程:
1. 從文件中讀入數(shù)據(jù)。
2. 將數(shù)據(jù)轉(zhuǎn)化成矩陣的形式。
3. 對(duì)于矩陣進(jìn)行處理。
具體的python代碼如下:
- 文件路徑需要設(shè)置正確。
- 字符串處理。
- 字符串?dāng)?shù)組到 整型數(shù)組的轉(zhuǎn)化。( nums = [int(x) for x in nums ])
- 矩陣的構(gòu)造。(matrix = np.array(nums))
- numpy模塊在矩陣處理上很有優(yōu)勢(shì)。
列表內(nèi)容
# -*- coding: utf-8 -*- import numpy as np def readFile(path): # 打開(kāi)文件(注意路徑) f = open(path) # 逐行進(jìn)行處理 first_ele = True for data in f.readlines(): ## 去掉每行的換行符,"\n" data = data.strip('\n') ## 按照 空格進(jìn)行分割。 nums = data.split(" ") ## 添加到 matrix 中。 if first_ele: ### 將字符串轉(zhuǎn)化為整型數(shù)據(jù) 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文件中的內(nèi)容如下:
0 0 0 1 1 0 1 0 1 0 1 1 1 1 1 1 1 2 3 4
python 構(gòu)造m* n的矩陣
- 通過(guò)列表的方式(數(shù)組)進(jìn)行生成矩陣。
- 該矩陣不適用于稀疏矩陣。(稀疏矩陣不會(huì)這樣子進(jìn)行構(gòu)造)
- 注意:如果數(shù)據(jù)量特別大的時(shí)候,這種方法相當(dāng)于將矩陣中的東西全部加載到內(nèi)存中,如果行列達(dá)到10000+,最好考慮使用稀疏矩陣。(易出現(xiàn) MemoryError)
- 稀疏矩陣的運(yùn)算也應(yīng)該考慮。
相關(guān)代碼:
def fixed_matrix(row,col): return [[0 for i in range(col)] for j in range(row)]
以上就是億速云小編為大家收集整理的如何在python中將讀取的文件轉(zhuǎn)換為矩陣,如何覺(jué)得億速云網(wǎng)站的內(nèi)容還不錯(cuò),歡迎將億速云網(wǎng)站推薦給身邊好友。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。