numpy的基礎運算中還有很多運算,我們這裡再記錄一些。
前面一篇博文中我們講述過如何獲得陣列中的最小值,這裡我們獲得最小/大值的索引值,也就是這個最小/大值在整個陣列中位於第幾位。
輸出為:import numpy as np
a = np.array([[10, 30, 15],
[20, 5, 25]])
print("a=")
print(a)
print("最小值索引:", a.argmin())
print("最大值索引:", np.argmax(a))
這就意味著這裡最小值的索引號是4,也就是陣列中第4位的值,也就是數值5。a=
[[10 30 15]
[20 5 25]]
最小值索引: 4
最大值索引: 1
輸出為:import numpy as np
a = np.array([[10, 30, 15],
[20, 5, 25]])
print("a=")
print(a)
print("平均值:", a.mean())
我們也可以通過axis引數來指定到底是在行上的平均值還是列上的平均值。a=
[[10 30 15]
[20 5 25]]
平均值: 17.5
例如,我們使用axis=1來指示行上的平均值:
輸出為:import numpy as np
a = np.array([[10, 30, 15],
[20, 5, 25]])
print("a=")
print(a)
print("行平均值:", a.mean(axis=1))
a=
[[10 30 15]
[20 5 25]]
行平均值: [ 18.33333333 16.66666667]
輸出:import numpy as np
a = np.array([10, 30, 15, 20, 5, 25])
print("a=")
print(a)
print("累積求和:", a.cumsum())
a=
[10 30 15 20 5 25]
累積求和: [ 10 40 55 75 80 105]
輸出:import numpy as np
a = np.array([4, 6, 9, 1, 9])
print("a=")
print(a)
print("累差:", np.diff(a))
輸出結果就是後乙個元素的值減去前乙個元素的值,最終元素的個數少1。a=
[4 6 9 1 9]
累差: [ 2 3 -8 8]
輸出為:import numpy as np
a = np.array([[4, 0, 9],
[1, 0, 8]])
print("a=")
print(a)
print("找出非零的數:", np.nonzero(a))
在上述的輸出結果中表示的非0數是相應的索引位置,因為我們是二維陣列,所以結果有兩段,第一段表示某一維中的索引號,另一段表示的是另一維的索引號。a=
[[4 0 9]
[1 0 8]]
找出非零的數: (array([0, 0, 1, 1], dtype=int64), array([0, 2, 0, 2], dtype=int64))
具體解讀為其中的非零值位於:(0, 0), (0, 2), (1, 0), (1, 2)
也就是其中數字4、9、1、8所在的索引位置。
輸出:import numpy as np
a = np.array([[4, 0, 9],
[1, 0, 8]])
print("a=")
print(a)
print("排序結果:")
print(np.sort(a))
轉置矩陣就是把行變成列,列變成行。例如:a=
[[4 0 9]
[1 0 8]]
排序結果:
[[0 4 9]
[0 1 8]]
輸出為:import numpy as np
a = np.array([[4, 0, 9],
[1, 0, 8]])
print("a=")
print(a)
print("轉置矩陣:")
print(np.transpose(a))
也可以用簡寫的方式:a.t,這個讀者自己去試試吧。a=
[[4 0 9]
[1 0 8]]
轉置矩陣:
[[4 1]
[0 0]
[9 8]]
把矩陣中的數改變成只屬於某個資料範圍內的數,例如:
輸出為:import numpy as np
a = np.array([[4, 6, 9],
[1, 7, 8]])
print("a=")
print(a)
print("np.clip:")
print(np.clip(a, 3, 7))
這樣就把其中的元素都設定成了3到7的範圍之內的數,比3小的數被修改成了3,比7大的數被修改成了7。a=
[[4 6 9]
[1 7 8]]
np.clip:
[[4 6 7]
[3 7 7]]
numpy的索引 老魚學numpy
import numpy as np a np.arange 3,15 reshape 3,4 print a print a print 第2行的資料 a 2 print 第2行第3列的資料 a 2 3 輸出為 a 3 4 5 6 7 8 9 10 11 12 13 14 第2行的資料 11 12...
numpy建立array 老魚學numpy
import numpy as np 陣列 a 1,2,3 4,5,6 print a a 矩陣 b np.array a print b b 執行後輸出為 a 1,2,3 4,5,6 b 1 2 3 4 5 6 我們可以看到python中的陣列和numpy中的陣列在螢幕上輸出的一些細微的差異 nu...
numpy array分割 老魚學numpy
有合併,就有分割。本節主要講述如何通過numpy對陣列進行橫向 縱向分割。首先建立乙個6行4列的陣列,然後我們對此陣列按照橫向進行切割,分成3塊,這樣每塊應該有2行,見例子 import numpy as np a np.arange 24 reshape 6,4 print a print a p...