Numpy简单入门
创建一个数组
一维数组
import numpy as np
a = np. array( [ 0 , 1 , 2 , 3 , 4 ] )
b = np. arange( 5 )
c = np. linspace( 0 , 2 * np. pi, 5 )
a[ 3 ]
二维数组
import numpy as np
a = np. array( [ [ 1 , 2 , 3 , 4 , 5 ] ,
[ 6 , 7 , 8 , 9 , 10 ] ,
[ 11 , 12 , 13 , 14 , 15 ] ] )
a[ 2 , 4 ]
多维数组切片
import numpy as np
a= np. array( [ [ 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[ 2 , 4 ] )
print ( a[ 0 , 1 : 4 ] )
print ( a[ 1 : 4 , 0 ] )
print ( a[ : : 2 , : : 2 ] )
print ( a[ : , 1 ] )
数组属性
import numpy as np
a= np. array( [ [ 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 ( type ( a) )
print ( a. dtype)
print ( a. size)
print ( a. shape)
print ( a. itemsize)
print ( a. ndim)
print ( a. nbytes)
使用数组
基本操作符
import numpy as np
a= np. arange( 25 )
a = a. reshape( ( 5 , 5 ) )
b = np. array( [ 10 , 62 , 1 , 14 , 2 , 56 , 79 , 2 , 1 , 45 , 4 , 92 , 5 , 55 , 63 , 43 , 35 , 6 , 53 , 24 , 56 , 3 , 56 , 44 , 78 ] )
b = b. reshape( ( 5 , 5 ) )
print ( a)
"""基本运算符:`+`、`-`、`*`、`/`、`<`、`>`"""
print ( "a+b=\n" , a + b)
print ( "a-b=\n" , a - b)
print ( "a*b=\n" , a* b)
print ( "a/b=\n" , a/ b)
print ( "a**2=\n" , a** 2 )
print ( "a<b=\n" , a< b)
print ( "a>b=\n" , a> b)
"""其他运算符:dot、sum、min、max、cumsum"""
print ( "a.dot(b)=\n" , a. dot( b) )
print ( "sum()=" , a. sum ( ) )
print ( "min()=" , a. min ( ) )
print ( "max()=" , a. max ( ) )
print ( "cumsum()=" , a. cumsum( ) )
花式索引
import numpy as np
a = np. arange( 0 , 100 , 10 )
indices = [ 1 , 5 , - 1 ]
b = a[ indices]
print ( a)
print ( b)
布尔屏蔽
import numpy as np
import matplotlib. pyplot as plt
a = np. linspace( 0 , 2 * np. pi, 50 )
print ( 2 * np. pi)
print ( a)
b = np. sin( a)
plt. plot( a, b)
mask = b>= 0
plt. plot( a[ mask] , b[ mask] , 'bo' )
mask = ( b>= 0 ) & ( a<= np. pi/ 2 )
plt. plot( a[ mask] , b[ mask] , 'go' )
plt. show( )
索引缺省
import numpy as np
a = np. arange( 0 , 100 , 10 )
b = a[ : 5 ]
c = a[ a>= 50 ]
print ( b)
print ( c)
Where 函数
import numpy as np
a = np. arange( 0 , 100 , 10 )
b = np. where( a < 50 )
c = np. where( a >= 50 ) [ 0 ]
print ( b)
print ( c)