Python學習筆記 17 numpy陣列排序

2021-08-04 01:24:45 字數 1523 閱讀 7230

>>> x=np.array((10,6,7,9,4))

>>> np.argsort(x)

array([4, 1, 2, 3, 0], dtype=int64)

>>> x[_] #根據argsort所得下標去訪問原來的陣列x就得到排序後的陣列

array([ 4, 6, 7, 9, 10])

>>> x

array([10, 6, 7, 9, 4])

>>> x.sort() #原地排序

>>> x

array([ 4, 6, 7, 9, 10])

>>> x=np.array([[0,3,4],[2,2,1]])

>>> np.argsort(x,axis=0) #縱向排序

array([[0, 1, 1],

[1, 0, 0]], dtype=int64)

>>> np.argsort(x,axis=1) #橫向排序

array([[0, 1, 2],

[2, 0, 1]], dtype=int64)

>>> x.sort(axis=1) #橫向排序

>>> x

array([[0, 3, 4],

[1, 2, 2]])

>>> x.sort(axis=0) #縱向排序

>>> x

array([[0, 2, 2],

[1, 3, 4]])

argsort返回排序後應得的陣列順序中,每個元素在原來陣列中的下標,sort可以原地排序。它們都可以指定axis引數,為0時縱向排序,為1時橫向排序。

>>> a=np.array((5,6,7))

>>> b=np.array((6,6,6))

>>> a.dot(b)

108>>> np.dot(a,b)

108>>> c=np.array(([1,2,3],[4,5,6],[7,8,9]))

>>> np.dot(c,a)

array([ 38, 92, 146])

>>> c[0].dot(a)

38

對應元素分別相乘再相加。

>>> np.dot(a,c)

array([ 78, 96, 114])

注意,如果是一維向量和二維向量計算內積,那麼是一維向量去和二維向量的每一列計算內積。注意對比dot(a,c)與dot(c,a)的區別。

>>> n=np.array(([1,2,3],(4,5,6),[7,8,9]))

>>> n

array([[1, 2, 3],

[4, 5, 6],

[7, 8, 9]])

>>> n[1]

array([4, 5, 6])

>>> n[1][2]

6

可以直接通過下標組合來訪問array生成的陣列,也可以用可迭代物件來一一訪問,也可以用+=,*=等運算子對每乙個元素來作運算。

python學習筆記(17)

只要使用關鍵字class,python 直譯器在執行的時候就會建立乙個物件。usr bin env python3 coding utf 8 from com.hello.hellio import hello 匯入hellio中的hello h hello h.hello print type h...

爬蟲學習筆記num1

1.通用爬蟲 抓取系統的重要做成部分,一整張頁面資料。2.聚焦爬蟲 建立在通用爬蟲的上,抓取頁面的特定區域性內容。3.增量式爬蟲 檢測 中的資料是否額更新,抓取更新的部分。爬蟲通過則略或手段,破解反爬機制,來爬取網頁的資料 超文字傳輸協議,吳福氣與客戶端資料互動的一種形式。user agent 請求...

爬蟲學習筆記num3

基於筆記二中的get傳送請求,之前沒有考慮ua偽裝,本次將get請求中的params引數和headers引數進行賦值。對於url攜帶的引數要封裝到字典中。import requests 處理url中攜帶的引數要封裝到字典中 url www.com kw input enter a word para...