python矩陣一行
1. python中如何在矩陣中添加一列或是一行
例如文件t.data數據格式如下 1,2,3 4,5,6 7,8,9 //讀入文件 file=open("t.data","r") //初始化矩陣 matrix=[] //讀入數據並加到矩陣中 for line in file: line.strip() matrix.append(line.split(',')) //列印 print(matrix)
2. 用python的numpy創建一個矩陣
使用numpy創建矩陣有2種方法,一種是使用numpy庫的matrix直接創建,另一種則是使用array來創建。首先載入numpy庫,然後分別用上面說的2種方法來分別構建一個4×3的矩陣,如圖
[1]在高等數學或者線性代數等已經學過了當後面的矩陣的行數等於前面矩陣的列數時,2個矩陣才可以相乘
[2]Hadamard指的是2個m×n的矩陣相乘,結果仍然是m×n的矩陣,結果為對應元素的乘積
[3]單位矩陣是特殊的對角矩陣,零(1)矩陣是指元素全部是0(1)的矩陣
[4]矩陣的第一行是從0開始編號的,python中的各種編號基本上都是從0開始的
注意事項
3. Python中怎樣使用shape計算矩陣的行和列
你得先安裝numpy庫,矩陣(ndarray)的shape屬性可以獲取矩陣的形狀(例如二維數組的行列),獲取的結果是一個元組,因此相關代碼如下:
importnumpyasnp
x=np.array([[1,2,5],[2,3,5],[3,4,5],[2,3,6]])
#輸出數組的行和列數
printx.shape#(4,3)
#只輸出行數
printx.shape[0]#4
#只輸出列數
printx.shape[1]#3
4. python 每次讀入一行,添加到矩陣中作為新的一行該怎麼寫
例如文件t.data數據格式如下
1,2,3
4,5,6
7,8,9
//讀入文件
file=open("t.data","r")
//初始化矩陣
matrix=[]
//讀入數據並加到矩陣中
for line in file:
line.strip()
matrix.append(line.split(','))
//列印
print(matrix)
5. 求問大神python中如何將一個矩陣的每一行按從大到小順序排列,並且取排序後的矩陣的前10列組成新矩陣
newarray = [sorted(x, reverse=True)[:10] for x in oldarray]
6. python怎麼把矩陣最後一行刪掉
python中可以使用np.delete(arr,obj,axis)函數來刪除矩陣的行或列。
arr:需要處理的矩陣
obj:在什麼位置處理
axis:可選參數,axis=None,0,1
axis=None:arr會先按行展開,然後按照obj,刪除第obj-1(從0開始)位置的數,返回一個行矩陣。
axis=0:arr按行刪除;
axis=1:arr按列刪除。
示例:
更多Python知識請關注Python視頻教程欄目。
7. python numpy中的矩陣,對矩陣一行賦值時候,小數為啥都變成整數了
你在定義矩陣的時候應該指明元素是int還是浮點類型,不然默認整數類型,所以不管你賦給他的是小數,都會自動轉成整數
8. python 將矩陣第一行的數據復制到下面幾行
1234567891011121314151617def readFile(): outputData = [] f = open(r"you file path") for i in f.readlines(): outputData.append(i.strip('\n').split(' ')[::-1]) f.close() return outputData def writeFile(): allData = readFile() dataToStr = '\n'.join(['\n'.join([i for i in j]) for j in allData]) f = open(r"new file path","w") f.writelines(dataToStr) f.close() if __name__ == '__main__': writeFile()
其中open函數後面的兩個路徑需要你自己修正。
9. python怎麼刪除一個一維矩陣的第一行元素
L1=np.c_[[1],L] 是連接兩個矩陣得到矩陣L1
而L2=np.delete(L1,0,1)是沿矩陣L1縱軸去掉矩陣中的第1列的元素得到矩陣L2,其中0表示第1列,1表示縱軸axis=1
例子,你看看吧
#!/usr/bin/python
import numpy as npL=np.matrix([1,2,3,4]);L1=np.c_[[1],L]print(L1)L2=np.delete(L1,0,1)print(L2)
10. python中怎樣建立一個只知道行數不知道列數的矩陣
##用列表的嵌套就行了,下面是一個例子。
##注意:最左邊每個=表示一個空格
##將n修改為你需要的行數
n=6
lsts=[[] for e in range(0,n)]
i=1
##為每一行賦值
##第i行有i列
for lst in lsts:
====for e in range(1,i+1):
========lst.append(e)
====i+=1
print(lsts)