numpy的索引 老魚學numpy

2022-02-10 05:44:03 字數 2115 閱讀 5721

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 13 14]

第2行第3列的資料: 14

對於獲取第2行第3列的資料,我們還可以用如下的方式來獲取:

print("第2行第3列的資料:", a[2, 3])
用冒號索引可以對資料進行切片。

import numpy as np

a = np.arange(3, 15).reshape(3, 4)

print("a=")

print(a)

print("第2行所有數:", a[2, :])

輸出為:

a=

[[ 3 4 5 6]

[ 7 8 9 10]

[11 12 13 14]]

第2行所有數: [11 12 13 14]

上面用冒號來對資料選擇進行了佔位。

如果我們想要獲得第1列的所有數:

import numpy as np

a = np.arange(3, 15).reshape(3, 4)

print("a=")

print(a)

print("第1列所有數:", a[:, 1])

輸出為第1列的所有數:

a=

[[ 3 4 5 6]

[ 7 8 9 10]

[11 12 13 14]]

第1列所有數: [ 4 8 12]

獲取第1行從第2列到第4列的值:

import numpy as np

a = np.arange(3, 15).reshape(3, 4)

print("a=")

print(a)

print("第1行從第2列到第4列的值:", a[1, 2:4])

輸出為:

a=

[[ 3 4 5 6]

[ 7 8 9 10]

[11 12 13 14]]

第1行從第1列到第2列的值: [ 9 10]

把資料變平的意思是:如果是多維陣列,則把陣列中的每個元素平鋪開來,變成一維資料,這樣便於用索引值進行訪問。

例如:

import numpy as np

a = np.arange(3, 15).reshape(3, 4)

print("a=")

print(a)

print("flatten=", a.flatten())

輸出:

a=

[[ 3 4 5 6]

[ 7 8 9 10]

[11 12 13 14]]

flatten= [ 3 4 5 6 7 8 9 10 11 12 13 14]

也可以用a.flat返回乙個迭代器來變數其中的元素:

import numpy as np

a = np.arange(3, 15).reshape(3, 4)

print("a=")

print(a)

for v in a.flat:

print(v, end=',')

輸出為:

a=

[[ 3 4 5 6]

[ 7 8 9 10]

[11 12 13 14]]

3,4,5,6,7,8,9,10,11,12,13,14,

numpy的array合併 老魚學numpy

本節主要講述如何把兩個陣列按照行或列進行合併。例如 import numpy as np a np.array 1,1,1 b np.array 2,2,2 print np.vstack a,b 合併後輸出結果為 1 1 1 2 2 2 import numpy as np a np.array ...

numpy array的複製 老魚學numpy

看例子 a np.array 0,1,2,3 b a a 0 5 print b b 判斷a和b是否是同樣的位址 print b is a 執行結果 b 5 1 2 3 true上面的例子中,我們改變了a的值,但列印出來b中的值也被修改了,原因是a和b指向相同的物件。如果我們想要解決修改了a的值不會...

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...