日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python numpy矩阵索引_Numpy中的矩阵索引

發布時間:2023/12/9 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python numpy矩阵索引_Numpy中的矩阵索引 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

索引后查看形狀:In [295]: A=np.matrix([1,2,3])

In [296]: A.shape

Out[296]: (1, 3)

In [297]: A[0]

Out[297]: matrix([[1, 2, 3]])

In [298]: A[0].shape

Out[298]: (1, 3)

這種行為的關鍵是np.matrix始終是2d,所以即使選擇一行(A[0,:]),結果仍然是2d,shape(1,3)。所以你可以隨心所欲地多串幾個[0],而且不會有什么新的事情發生。

你想用A[0][0]來完成什么?與A[0,0]相同?

對于基類np.ndarray來說,它們是等價的。

注意,Python解釋器將索引轉換為__getitem__調用。A.__getitem__(0).__getitem__(0)

A.__getitem__((0,0))

[0][0]是兩個索引操作,而不是一個。因此,第二個[0]的效果取決于第一個產生什么。

對于數組A[0,0]相當于A[0,:][0]。但對于矩陣,您需要:In [299]: A[0,:][:,0]

Out[299]: matrix([[1]]) # still 2d

一、二、二、三"An array of itself", but I doubt anyone in their right mind would choose that as a model for matrices in a scientific library.

What is, then, the logic to the output I obtained? Why would the first element of a matrix object be itself?

In addition, A[0,:] is not the same as A[0]

鑒于這些評論,讓我提出一些澄清意見。

A[0]并不意味著“返回第一個元素”。意思是沿著第一個軸選擇。表示第一個項目的1d數組。對于二維數組,它表示第一行。對于ndarray來說,它是一個一維數組,而對于matrix來說,它是另一個matrix。所以對于二維數組或矩陣,A[i,:]和A[i]是一樣的。

A[0]不只是返回本身。它返回一個新矩陣。不同的id:In [303]: id(A)

Out[303]: 2994367932

In [304]: id(A[0])

Out[304]: 2994532108

它可能有相同的數據,形狀和步幅,但它是一個新的對象。它和多行矩陣的ith行一樣唯一。

大多數唯一的matrix活動在:numpy/matrixlib/defmatrix.py中定義。我本打算建議查看matrix.__getitem__方法,但大多數操作是在np.ndarray.__getitem__中執行的。

np.matrix類被添加到numpy中,以方便老式的MATLAB程序員。numpy數組幾乎可以有任意數量的維度,0,1。。。。MATLAB只允許2個,盡管2000年左右的一個版本將其概括為2個或更多。

總結

以上是生活随笔為你收集整理的python numpy矩阵索引_Numpy中的矩阵索引的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。