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

歡迎訪問 生活随笔!

生活随笔

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

python

python numpy矩阵索引_python – Numpy中的矩阵索引

發布時間:2023/12/9 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python numpy矩阵索引_python – 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,形狀(1,3).因此,您可以根據需要串起盡可能多的[0],并且不會發生任何新的事情.

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

對于基本np.ndarray類,這些是等價的.

請注意,Python解釋器將索引轉換為__getitem__調用.

A.__getitem__(0).__getitem__(0)

A.__getitem__((0,0))

[0] [0]是2個索引操作,而不是一個.所以第二個[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數組,表示第1項.對于2d數組,它表示第1行.對于ndarray,它將是一個1d數組,但對于矩陣,它是另一個矩陣.因此對于2d數組或矩陣,A [i,:]與A [i]是相同的.

A [0]不只是返回自己.它返回一個新矩陣.不同的身份:

In [303]: id(A)

Out[303]: 2994367932

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

Out[304]: 2994532108

它可能具有相同的數據,形狀和步幅,但它是一個新對象.它與許多行矩陣的第i行一樣獨特.

大多數獨特的矩陣活動定義在:numpy / matrixlib / defmatrix.py中.我打算建議查看矩陣.__ getitem__方法,但大多數動作都是在np.ndarray .__ getitem__中執行的.

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

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

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

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