欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python 讀文件,然后轉(zhuǎn)化為矩陣的實(shí)例

 更新時(shí)間:2018年04月23日 09:52:00   作者:TheSnowBoy_2  
下面小編就為大家分享一篇python 讀文件,然后轉(zhuǎn)化為矩陣的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

代碼流程:

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)化為矩陣的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論