np 安装
pip3 install numpy scipy matplotlib - i https: // pypi. tuna. tsinghua. edu. cn/ simple
np下创建array
import numpy as np
array= np. array( [ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] ] )
print ( array)
[ [ 1 2 3 ]
[ 4 5 6 ] ]
array. ndim
2
array, shape
(2 , 3 )
array, size
6
array= np. array( [ 1 , 2 , 3 ] , dtype= np. int )
print ( array. dtype)
int64
array. zeros( ( 2 , 3 ) , dtype= int )
array= np. arange( 10 , 20 , 2 )
print ( array)
[ 10 , 12 , 14 , 16 , 18 ]
array= np. arange( 12 ) . reshape( ( 3 , 4 ) )
array= np. linespace( 1 , 10 , 5 )
print ( array)
[ 1 . 3.25 5.5 7.75 10 . ]
array= np. linespace( 1 , 10 , 6 ) . reshape( 2 , 3 )
print ( array)
[ [ 1 . 2.8 4.6 ]
[ 6.4 8.2 10 . ] ]
np的矩阵运算
a= np. array( [ 10 , 20 , 30 , 40 ] )
b= np. arange( 4 )
c= a- b
print ( a, b, c)
[ 10 20 30 40 ] [ 0 1 2 3 ] [ 10 19 28 37 ]
c= 10 * np. sin( a)
print ( b)
print ( b< 3 )
[ 0 1 2 3 ] [ True True True False ]
c= a* b
c_dot= np. dot( a, b)
a= np. random. random( ( 2 , 4 ) )
print ( a)
[ [ 0.3667733 0.81440726 0.1633512 0.72355555 ]
[ 0.88348125 0.39544205 0.87726339 0.10877551 ] ]
np. sum ( a)
np. min ( a)
np. max ( a)
np. sum ( a, axis= 1 )
np. min ( a, axis= 0 )
np. max ( a, axis= 1 )
a= np. arange( 2 , 14 ) . reshape( ( 3 , 4 ) )
print ( a)
[ [ 2 3 4 5 ]
[ 6 7 8 9 ]
[ 10 11 12 13 ] ]
print ( np. argmin( a) )
0
print ( np. argmax( a) )
11
print ( np. mean( a) )
7.5
print ( np. mean( a,axis= 0 ) )
print ( np. average( a) )
7.5
print ( np. median( a) )
7.5
print ( np. cumsum( a) )
[ 2 5 9 14 20 27 35 44 54 65 77 90 ]
print ( np. diff( a) )
[ [ 1 1 1 ]
[ 1 1 1 ]
[ 1 1 1 ] ]
print ( np. transpose( a) )
[ [ 2 6 10 ]
[ 3 7 11 ]
[ 4 8 12 ]
[ 5 9 13 ] ]
print ( np. clip( a, 5 , 9 ) )
[ [ 5 5 5 5 ]
[ 6 7 8 9 ]
[ 9 9 9 9 ] ]
np索引,合并、分割
a= np. arange( 3 , 15 )
print ( a)
[ 3 4 5 6 7 8 9 10 11 12 13 14 ]
print ( a[ 3 ] )
6
a= np. arange( 3 , 15 ) . reshape( ( 3 , 4 ) )
print ( a)
[ [ 3 4 5 6 ]
[ 7 8 9 10 ]
[ 11 12 13 14 ] ]
print ( a[ 2 ] [ 1 ] )
12
print ( a[ 2 , 1 ] )
12
print ( a[ 2 , : ] )
[ 11 12 13 14 ]
print ( a[ : , 1 ] )
[ 4 8 12 ]
print ( a[ 2 , 1 : 2 ] )
[ 12 ]
print ( a[ 2 , 1 : 3 ] )
[ 12 13 ]
for row in a:
print ( row)
[ 3 4 5 6 ]
[ 7 8 9 10 ]
[ 11 12 13 14 ]
print ( a. flatten( ) )
[ 3 4 5 6 7 8 9 10 11 12 13 14 ]
for item in a. flat:
print ( item)
3
4
5
6
7
8
9
10
11
12
13
14
a= np. array( [ 1 , 1 , 1 ] )
b= np. array( [ 2 , 2 , 2 ] )
print ( np. vstack( ( a, b) ) )
[ [ 1 1 1 ]
[ 2 2 2 ] ]
print ( np. hstack( ( a, b) ) )
[ 1 1 1 2 2 2 ]
print ( a. transpose( ) )
[ 1 1 1 ]
a= a[ : , np. newaxis]
print ( a)
[ [ 1 ]
[ 1 ]
[ 1 ] ]
print ( b)
[ 2 2 2 ]
b= b[ : , np. newaxis]
print ( b)
[ [ 2 ]
[ 2 ]
[ 2 ] ]
print ( np. hstack( ( a, b) ) )
[ [ 1 2 ]
[ 1 2 ]
[ 1 2 ] ]
print ( np. vstack( ( a, b) ) )
[ [ 1 ]
[ 1 ]
[ 1 ]
[ 2 ]
[ 2 ]
[ 2 ] ]
print ( np. concatenate( ( a, b) , axis= 0 ) )
[ [ 1 ]
[ 1 ]
[ 1 ]
[ 2 ]
[ 2 ]
[ 2 ] ]
print ( np. concatenate( ( a, b) , axis= 1 ) )
[ [ 1 2 ]
[ 1 2 ]
[ 1 2 ] ]
a= np. arange( 12 ) . reshape( ( 3 , 4 ) )
print ( a)
[ [ 0 1 2 3 ]
[ 4 5 6 7 ]
[ 8 9 10 11 ] ]
print ( np. split( a, 2 , axis= 1 ) )
[ array( [ [ 0 , 1 ] ,
[ 4 , 5 ] ,
[ 8 , 9 ] ] ) , array( [ [ 2 , 3 ] ,
[ 6 , 7 ] ,
[ 10 , 11 ] ] ) ]
print ( np. split( a, 3 , axis= 0 ) )
[ array( [ [ 0 , 1 , 2 , 3 ] ] ) , array( [ [ 4 , 5 , 6 , 7 ] ] ) , array( [ [ 8 , 9 , 10 , 11 ] ] ) ]
print ( np. array_split( a, 3 , axis= 1 ) )
[ array( [ [ 0 , 1 ] ,
[ 4 , 5 ] ,
[ 8 , 9 ] ] ) , array( [ [ 2 ] ,
[ 6 ] ,
[ 10 ] ] ) , array( [ [ 3 ] ,
[ 7 ] ,
[ 11 ] ] ) ]
print ( np. vsplit( a, 3 ) )
[ array( [ [ 0 , 1 , 2 , 3 ] ] ) , array( [ [ 4 , 5 , 6 , 7 ] ] ) , array( [ [ 8 , 9 , 10 , 11 ] ] ) ]
print ( np. hsplit( a, 2 ) )
[ array( [ [ 0 , 1 ] ,
[ 4 , 5 ] ,
[ 8 , 9 ] ] ) , array( [ [ 2 , 3 ] ,
[ 6 , 7 ] ,
[ 10 , 11 ] ] ) ]
np赋值
a= np. array( [ 1 , 2 , 3 , 4 ] )
a
array( [ 1 , 2 , 3 , 4 ] )
b= a; c= b; d= b
a[ 0 ] = 11
a
array( [ 11 , 2 , 3 , 4 ] )
b
array( [ 11 , 2 , 3 , 4 ] )
c
array( [ 11 , 2 , 3 , 4 ] )
d
array( [ 11 , 2 , 3 , 4 ] )
b= a. copy( )