numpy创建
import numpy as np
# 1 -d
arr = np . array ( [ 1 , 2 , 3 ] )
print ( '1-d:' , arr )
# 2 -d
arr = np . array ( [ [ 1 , 2 , 3 ] ,
[ 4 , 5 , 6 ] ] )
print ( '2-d:' , arr )
# tuple
arr = np . array ( ( 1 , 3 , 2 ) )
print ( 'create by tuple:' , arr )
1 -d: [ 1 2 3 ]
2 -d: [ [ 1 2 3 ]
[ 4 5 6 ] ]
create by tuple: [ 1 3 2 ]
numpy切片
import numpy as np
arr = np . array ( [ [ - 1 , 2 , 0 , 4 ] ,
[ 4 , - 0.5 , 6 , 0 ] ,
[ 2.6 , 0 , 7 , 8 ] ,
[ 3 , - 7 , 4 , 2.0 ] ] )
print ( "Initial Array: " )
print ( arr )
# 0 - 1 行, 0 , 2 列
sliced_arr = arr [ : 2 , :: 2 ]
print ( "Array with first 2 rows and"
" alternate columns(0 and 2):\n" , sliced_arr )
Initial Array:
[ [ - 1. 2. 0. 4. ]
[ 4. - 0.5 6. 0. ]
[ 2.6 0. 7. 8. ]
[ 3. - 7. 4. 2. ] ]
Array with first 2 rows and alternate columns ( 0 and 2 ) :
[ [ - 1. 0. ]
[ 4. 6. ] ]
# Python program for basic slicing
# and indexing
import numpy as np
# A 3 -Dimensional array
a = np . array ( [ [ 0 , 1 , 2 , 3 , 4 , 5 ] ,
[ 6 , 7 , 8 , 9 , 10 , 11 ] ,
[ 12 , 13 , 14 , 15 , 16 , 17 ] ,
[ 18 , 19 , 20 , 21 , 22 , 23 ] ,
[ 24 , 25 , 26 , 27 , 28 , 29 ] ,
[ 30 , 31 , 32 , 33 , 34 , 35 ] ] )
print ( a )
# slicing and indexing
print ( "\n a[0, 3:5] = " , a [ 0 , 3 : 5 ] )
print ( "\n a[4:, 4:] = " , a [ 4 : , 4 : ] )
print ( "\n a[:, 2] = " , a [ : , 2 ] )
print ( "\n a[2:;2, ::2] = " , a [ 2 :: 2 , :: 2 ] )
[ [ 0 1 2 3 4 5 ]
[ 6 7 8 9 10 11 ]
[ 12 13 14 15 16 17 ]
[ 18 19 20 21 22 23 ]
[ 24 25 26 27 28 29 ]
[ 30 31 32 33 34 35 ] ]
a [ 0 , 3 : 5 ] = [ 3 4 ]
a [ 4 : , 4 : ] = [ [ 28 29 ]
[ 34 35 ] ]
a [ : , 2 ] = [ 2 8 14 20 26 32 ]
a [ 2 : ; 2 , :: 2 ] = [ [ 12 14 16 ]
[ 24 26 28 ] ]
# Python program for indexing using
# basic slicing with ellipsis
import numpy as np
# A 3 dimensional array . 2 * 2 * 3
b = np . array ( [ [ [ 1 , 2 , 3 ] ,
[ 4 , 5 , 6 ] ] ,
[ [ 7 , 8 , 9 ] ,
[ 10 , 11 , 12 ] ] ] )
print ( b [ . . . , 1 ] ) # Equivalent to b [ : , : , 1 ]
b [ : , : , 1 ]
[ [ 2 5 ]
[ 8 11 ] ]
array ( [ [ 2 , 5 ] ,
[ 8 , 11 ] ] )
numpy取值index
import numpy as np
arr = np . array ( [ [ - 1 , 2 , 0 , 4 ] ,
[ 4 , - 0.5 , 6 , 0 ] ,
[ 2.6 , 0 , 7 , 8 ] ,
[ 3 , - 7 , 4 , 2.0 ] ] )
print ( "Initial Array: " )
print ( arr )
# 取值
Index_arr = arr [ [ 1 , 1 , 0 , 3 ] , # row
[ 3 , 2 , 1 , 0 ] ] # cols
print ( "\nElements at indices (1, 3), "
"(1, 2), (0, 1), (3, 0):\n" , Index_arr )
Initial Array:
[ [ - 1. 2. 0. 4. ]
[ 4. - 0.5 6. 0. ]
[ 2.6 0. 7. 8. ]
[ 3. - 7. 4. 2. ] ]
Elements at indices ( 1 , 3 ) , ( 1 , 2 ) , ( 0 , 1 ) , ( 3 , 0 ) :
[ 0. 6. 2. 3. ]
# Python program showing advanced indexing
import numpy as np
a = np . array ( [ [ 1 , 2 ] ,
[ 3 , 4 ] ,
[ 5 , 6 ] ] )
print ( a [ [ 0 , 1 , 2 ] , [ 0 , 0 , 1 ] ] )
[ 1 3 6 ]
# Python program showing advanced
# and basic indexing
import numpy as np
a = np . array ( [ [ 0 , 1 , 2 ] ,
[ 3 , 4 , 5 ] ,
[ 6 , 7 , 8 ] ,
[ 9 , 10 , 11 ] ] )
print ( a [ 1 : 2 , 1 : 3 ] )
print ( a [ 1 : 2 , [ 1 , 2 ] ] )
[ [ 4 5 ] ]
[ [ 4 5 ] ]
# You may wish to select numbers greater than 50
import numpy as np
a = np . array ( [ 10 , 40 , 80 , 50 , 100 ] )
print ( a [ a > 50 ] )
[ 80 100 ]
# You may wish to square the multiples of 40
import numpy as np
a = np . array ( [ 10 , 40 , 80 , 50 , 100 ] )
print ( a [ a % 40 = = 0 ] * * 2 )
[ 1600 6400 ]
# You may wish to select those elements whose
# sum of row is a multiple of 10.
import numpy as np
b = np . array ( [ [ 5 , 5 ] ,
[ 4 , 5 ] ,
[ 16 , 4 ] ] )
sumrow = b . sum ( - 1 )
print ( b [ sumrow % 10 = = 0 ] )
[ [ 5 5 ]
[ 16 4 ] ]