py 統計乙個矩陣中每一列的非0數的個數

2022-05-09 05:33:12 字數 1695 閱讀 9501

1.檔案型別類似於這樣:

不過資料量比這個要更大一點。

2.對應上述資料的執行結果:

import

matplotlib.pyplot as plt

with open(

'test.txt

') as fob:

lines=fob.readlines()

#去除掉每行最後乙個換行符,就可以正確統計了,我也真不知道是為什麼

for i in

range(len(lines)):

lines[i]=lines[i].rstrip()

#在這裡要建立乙個長度的list進行統計

#但是這個地方的lines應該是包括空格的長度。

lens=len(lines[0].split("

"))-1lts=[0 for _ in range(lens)]#

這裡存的資料型別是int

for line in

lines:

lt=line.split("

")#這裡lt是str型別的

lt.pop(0) #

刪除掉第乙個元素

#for k in lt:

#print(k,end="")#這裡是不換行輸出

for i in

range(len(lt)):

if lt[i] != '0'

: lts[i]+=1

if(i==6):

print(lt[i]+"

"+str(lts[i]))

#畫乙個折線圖

for i in

lts:

print

(i)plt.plot(lts,linewidth=5)

plt.show()

//其中學到了不少東西。

執行結果:

1.如何按行讀取檔案並且儲存到list中

2.如何建立乙個指定長度和初值的list

3.從檔案中讀取的行進行split之後仍然是str型別的

4.如何畫折線圖進行鞏固

5.其中還出現了乙個問題,就是在統計最後一行的非0個數時老是出錯,通過將換行符去掉,也就是加上了rstrip()函式之後就可以正常使用了。

5.python中沒有自增:

**:意思就是,使用++/--會使變數的id發生變化如下:

a=5

print

(id(a))

a+=1

print(id(a)) #

相當於新生成了乙個變數,操作後的結果賦予了這個新的變數。

#++的話代表改變了物件本身,

#python資料物件是不可改變的。

b=5print

(id(b))

b=6print(id(6))

#執行結果

2012966032

2012966064

2012966032

2012966064

用乙個表中的一列值更新另外一表中的一列值

今天寫乙個小儲存過程,呵呵!功能大家試一下就知道了。create proc proc test uid int 0 output,uname nvarchar 50 null output asbegin declare dd cursor scroll for select uid,uname f...

乙個表中的兩列與另乙個表的一列關聯的結果顯示

station表 列名 stationid 站點編號 stationlon 站點經度 stationlat 站點緯度 record表 列名 recorkid 記錄編號 stationgoid 借出站點編號 stationbackid 歸還站點編號 查詢結果顯示列 stationgoid 借出站點編號...

乙個表中的兩列與另乙個表的一列關聯的結果顯示

station表 列名 stationid 站點編號 stationlon 站點經度 stationlat 站點緯度 record表 列名 recorkid 記錄編號 stationgoid 借出站點編號 stationbackid 歸還站點編號 查詢結果顯示列 stationgoid 借出站點編號...