import numpy as np
1.Numpy的数组类型
array = [ 1 , 2 , 3 , 4 , 5 ]
array
[1, 2, 3, 4, 5]
type ( array)
list
array+ 1
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-5-17a9a5c0be51> in <module>
----> 1 array+1
TypeError: can only concatenate list (not "int") to list
nparray= np. array( [ 1 , 2 , 3 , 4 , 5 ] )
nparray
array([1, 2, 3, 4, 5])
type ( nparray)
numpy.ndarray
nparray+ 1
array([2, 3, 4, 5, 6])
nparray + nparray
array([ 2, 4, 6, 8, 10])
nparray * nparray
array([ 1, 4, 9, 16, 25])
2.ndarray结构
list_ = [ 1 , 2 , 3 , 4 ]
array_ = np. array( list_)
array_
array([1, 2, 3, 4])
type ( array_)
numpy.ndarray
array_. dtype
dtype('int32')
list_ = [ 1 , 2 , 3 , 4.0 ]
array_ = np. array( list_)
array_
array([1., 2., 3., 4.])
array_. dtype
dtype('float64')
array_. size
4
array_. ndim
1
array_. fill( 0 )
array_
array([0., 0., 0., 0.])
3.索引和切片
list_ = [ 1 , 2 , 3 , 4.0 ]
array_ = np. array( list_)
array_
array([1., 2., 3., 4.])
array_[ 0 ]
1.0
array_[ - 1 ]
4.0
array_[ 0 : 2 ]
array([1., 2.])
array_[ : - 1 ]
array([1., 2., 3.])
array_[ - 3 : ]
array([2., 3., 4.])
array_ = np. array( [ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] , [ 7 , 8 , 9 ] ] )
array_
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
array_. shape
(3, 3)
array_. size
9
array_. ndim
2
array_[ 1 , 1 ]
5
array_[ 1 , 1 ] = 10
array_
array([[ 1, 2, 3],
[ 4, 10, 6],
[ 7, 8, 9]])
array_[ 1 ]
array([ 4, 10, 6])
array_[ : , 1 ]
array([ 2, 10, 8])
array_[ : , 0 ]
array([1, 4, 7])
array_[ : , 0 : 2 ]
array([[ 1, 2],
[ 4, 10],
[ 7, 8]])
array_[ : , 1 : 3 ]
array([[ 2, 3],
[10, 6],
[ 8, 9]])
array_[ 0 : 2 , 1 : 3 ]
array([[ 2, 3],
[10, 6]])
array2 = array_
array2
array([[ 1, 2, 3],
[ 4, 10, 6],
[ 7, 8, 9]])
array2[ 1 , 1 ] = 100
array2
array([[ 1, 2, 3],
[ 4, 100, 6],
[ 7, 8, 9]])
array_
array([[ 1, 2, 3],
[ 4, 100, 6],
[ 7, 8, 9]])
array2 = array_. copy( )
array2
array([[ 1, 2, 3],
[ 4, 100, 6],
[ 7, 8, 9]])
array2[ 1 , 1 ] = 999
array2
array([[ 1, 2, 3],
[ 4, 999, 6],
[ 7, 8, 9]])
array_
array([[ 1, 2, 3],
[ 4, 100, 6],
[ 7, 8, 9]])
array_ = np. arange( 0 , 100 )
array_
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, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99])
array_ = np. arange( 0 , 100 , 10 )
array_
array([ 0, 10, 20, 30, 40, 50, 60, 70, 80, 90])
mask = np. array( [ 0 , 1 , 0 , 6 , 2 , 1 , 0 , 1 ] )
mask
array([0, 1, 0, 6, 2, 1, 0, 1])
mask = np. array( [ 0 , 1 , 0 , 6 , 2 , 1 , 0 , 1 , 0 , 0 ] , dtype= bool )
mask
array([False, True, False, True, True, True, False, True, False,
False])
array_[ mask]
array([10, 30, 40, 50, 70])
random_array = np. random. rand( 10 )
random_array
array([0.23355588, 0.29370537, 0.97713356, 0.52846635, 0.13183043,
0.39112791, 0.2162213 , 0.61071618, 0.02796149, 0.31315245])
random_array = np. random. randint( 0 , 1000 )
random_array
124
random_array = np. random. randint( 1 , 7 , size= ( 3 , 3 ) )
random_array
array([[5, 2, 1],
[3, 6, 1],
[3, 5, 5]])
np. sum ( random_array)
31
np. sum ( random_array, axis= 0 )
array([11, 13, 7])
np. sum ( random_array, axis= 1 )
array([ 8, 10, 13])
random_array. ndim
2
random_array = np. random. randint( 1 , 7 , size= ( 3 , 3 , 3 ) )
random_array
array([[[4, 6, 2],
[6, 6, 4],
[3, 1, 6]],
[[6, 4, 4],
[2, 5, 5],
[5, 2, 2]],
[[3, 6, 4],
[4, 3, 4],
[2, 2, 2]]])
np. sum ( random_array, axis= 0 )
array([[13, 16, 10],
[12, 14, 13],
[10, 5, 10]])
np. sum ( random_array, axis= 1 )
array([[13, 13, 12],
[13, 11, 11],
[ 9, 11, 10]])
np. sum ( random_array, axis= 2 )
array([[12, 16, 10],
[14, 12, 9],
[13, 11, 6]])
random_array. ndim
3
random_array = np. random. randint( 1 , 5 , size= ( 2 , 2 ) )
random_array
array([[3, 4],
[4, 1]])
random_array. prod( )
48
random_array. prod( axis= 0 )
array([12, 4])
random_array. prod( axis= 1 )
array([12, 4])
random_array. min ( )
1
random_array. min ( axis= 0 )
array([3, 1])
random_array. max ( axis= 1 )
array([4, 4])
random_array. argmin( axis= 0 )
array([0, 1], dtype=int64)
random_array. argmax( axis= 0 )
array([1, 0], dtype=int64)
random_array. mean( )
3.0
random_array. mean( axis= 0 )
array([3.5, 2.5])
random_array = np. random. randint( 1 , 5 , size= ( 2 , 5 ) )
random_array
array([[3, 3, 3, 3, 2],
[2, 2, 4, 2, 2]])
np. sort( random_array)
array([[2, 3, 3, 3, 3],
[2, 2, 2, 2, 4]])
np. sort( random_array, axis= 0 )
array([[2, 2, 3, 2, 2],
[3, 3, 4, 3, 2]])
np. sort( random_array, axis= 1 )
array([[2, 3, 3, 3, 3],
[2, 2, 2, 2, 4]])
np. argsort( random_array)
array([[4, 0, 1, 2, 3],
[0, 1, 3, 4, 2]], dtype=int64)
random_array. shape
(2, 5)
random_array. shape = 10
random_array
array([3, 3, 3, 3, 2, 2, 2, 4, 2, 2])
random_array. shape= 5 , 2
random_array
array([[3, 3],
[3, 3],
[2, 2],
[2, 4],
[2, 2]])
random_array. reshape( 1 , 10 )
array([[3, 3, 3, 3, 2, 2, 2, 4, 2, 2]])
random_array = random_array. reshape( 10 )
random_array
array([3, 3, 3, 3, 2, 2, 2, 4, 2, 2])
random_array_2 = random_array[ np. newaxis, : ]
random_array_2
array([[3, 3, 3, 3, 2, 2, 2, 4, 2, 2]])
random_array. ndim
1
random_array_2. ndim
2
random_array_2. shape
(1, 10)
random_array_2 = random_array[ np. newaxis, : , np. newaxis]
random_array_2
array([[[3],
[3],
[3],
[3],
[2],
[2],
[2],
[4],
[2],
[2]]])
random_array_2. shape
(1, 10, 1)
random_array_2 = random_array_2. squeeze( )
random_array_2. shape
(10,)
random_array_2. shape = 5 , 2
random_array_2
array([[3, 3],
[3, 3],
[2, 2],
[2, 4],
[2, 2]])
random_array_2. T
array([[3, 3, 2, 2, 2],
[3, 3, 2, 4, 2]])
random_array_2
array([[3, 3],
[3, 3],
[2, 2],
[2, 4],
[2, 2]])
array1 = np. random. randint( 10 , size= ( 2 , 5 ) )
array1
array([[3, 9, 8, 5, 9],
[2, 6, 6, 1, 7]])
array2 = np. random. randint( 10 , size= ( 2 , 5 ) )
array2
array([[6, 8, 5, 4, 2],
[1, 3, 9, 2, 8]])
array3 = np. concatenate( ( array1, array2) , axis= 0 )
array3
array([[3, 9, 8, 5, 9],
[2, 6, 6, 1, 7],
[6, 8, 5, 4, 2],
[1, 3, 9, 2, 8]])
array3 = np. concatenate( ( array1, array2) , axis= 1 )
array3
array([[3, 9, 8, 5, 9, 6, 8, 5, 4, 2],
[2, 6, 6, 1, 7, 1, 3, 9, 2, 8]])
np. zeros( 3 )
array([0., 0., 0.])
np. zeros( ( 2 , 3 ) )
array([[0., 0., 0.],
[0., 0., 0.]])
np. ones( ( 3 , 3 ) )
array([[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]])
x = np. arange( 0 , 2 )
y = np. arange( 2 , 4 )
x, y
(array([0, 1]), array([2, 3]))
x * y
array([0, 3])
np. multiply( x, y)
array([0, 3])
np. dot( x, y)
3
x = np. arange( 0 , 6 ) . reshape( 2 , 3 )
x
array([[0, 1, 2],
[3, 4, 5]])
y = np. arange( 0 , 6 ) . reshape( 3 , 2 )
y
array([[0, 1],
[2, 3],
[4, 5]])
np. dot( x, y)
array([[10, 13],
[28, 40]])
x = np. arange( 0 , 6 ) . reshape( 2 , 3 )
x
array([[0, 1, 2],
[3, 4, 5]])
y = np. arange( 0 , 6 ) . reshape( 2 , 3 )
y
array([[0, 1, 2],
[3, 4, 5]])
x == y
array([[ True, True, True],
[ True, True, True]])
y[ 0 , 1 ] = 5
y
array([[0, 5, 2],
[3, 4, 5]])
x== y
array([[ True, False, True],
[ True, True, True]])