numpy练习题Word下载.docx
- 文档编号:21411348
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:15
- 大小:19.69KB
numpy练习题Word下载.docx
《numpy练习题Word下载.docx》由会员分享,可在线阅读,更多相关《numpy练习题Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
[0004]]
z=np.diag([1,2,3,4],k=1)%k=1,[1,2,3,4]在对角线上一行
[[01000]
[00200]
[00030]
[00004]
[00000]]
z=np.diag([1,2,3,4],k=-1)%k=-1,[1,2,3,4]在对角线下一行
[[00000]
[10000]
[02000]
[00300]
[00040]]
10、random模块的random函数,生成随机数
Z=np.random.random((3,3))
[[0.951714840.613941260.38864802]
[0.419439180.93987140.31608202]
[0.99935070.917170930.73002723]]
11、创建一个8*8的“棋盘”矩阵。
z=np.zeros((8,8),dtype=int)
z[1:
:
2,:
2]=1%1、3、5、7行&
&
0、2、4、6列的元素置为1
[[00000000]
[10101010]
[00000000]
[10101010]]
z[:
2,1:
2]=1
[[01010101]
[01010101]
12、min()、max()函数
z=np.random.random((10,10))
zmin,zmax=z.min(),z.max()
printzmin,zmax
0.0142305016320.99548760299
13、函数tile(A,reps),reps即重复的次数,不仅可以是数字,还可以是array。
比如构造棋盘矩阵:
z=np.tile(np.array([[0,1],[0,1]]),(4,4))
[01010101]]
14、归一化,将矩阵规格化到0~1,即最小的变成0,最大的变成1,最小与最大之间的等比缩放。
Z=np.random.random((5,5))
Zmax,Zmin=Z.max(),Z.min()
Z=(Z-Zmin)/(Zmax-Zmin)
[[0.0.321732910.176078510.6270374
0.95000808]
[0.491534730.704656050.619300850.003032941.
]
[0.46805610.887427820.298996830.80704789
0.12300414]
[0.050942480.230658750.827767750.07873239
0.50644422]
[0.274170530.786792220.5178190.56491240.4716856
]]
15、矩阵点乘
z=np.dot(np.ones((5,3)),np.ones((3,2)))
[[3.3.]
[3.3.]
[3.3.]]
16、矩阵相加,5*5矩阵+1*5的向量,相当于每一行都加上1*5矩阵
Z=np.zeros((5,5))
Z+=np.arange(5)
[[0.1.2.3.4.]
[0.1.2.3.4.]
[0.1.2.3.4.]]
17、linspace函数,在给定区间中生成均匀分布的给定个数。
函数原型linspace(start,stop,num=50,endpoint=True,
retstep=False)
Z=np.linspace(0,10,11,endpoint=True,retstep=False)
[0.1.2.3.4.5.6.7.8.9.10.]
生成0~10之间均匀分布的11个数,包括0和1。
若endpoint=False,则10不包括在里面。
若retstep=False,会同时返回均匀区间中每两个数的间隔。
18、sort函数。
调用random模块中的random函数生成10个随机数,然后sort排序。
Z=np.random.random(10)
Z.sort()
[0.159787870.280504940.358659160.400478260.45141311
0.4828367
0.661335750.667757790.692785440.98095989]
19、allclose函数,判断两个array在误差范围内是否相等
函数原型allclose(a,b,rtol=1e-05,atol=1e-08),若absolute(a-
b)<
=(atol+rtol*absolute(b))则相等。
A=np.random.randint(0,2,5)
B=np.random.randint(0,2,5)
equal=np.allclose(A,B)
printequal
20、mean函数,求平均值
Z=np.random.random(30)
m=Z.mean()
printm
0.362299527973
A=np.random.randint(0,2,5)
B=np.random.randint(0,2,5)
equal=np.allclose(A,B)
printequal
False
Numpy拓展练习二
(1)Importthenumpypackageunderthenamenp
importnumpyasnp
(2)Printthenumpyversionandtheconfiguration
print(np.__version__)
np.show_config()
(3)Createanullvectorofsize10
Z=np.zeros(10)
print(Z)
#[0.0.0.0.0.0.0.0.0.0.]
(4)Howtofindthememorysizeofanyarray
Z=np.zeros((10,10))
print("
%dbytes"
%(Z.size*Z.itemsize))
#800bytes
(5)Howtogetthedocumentationofthenumpyaddfunction
np.info(np.add)
(6)Createanullvectorofsize10butthefifthvaluewhichis1
Z[4]=1
#[0.0.0.0.1.0.0.0.0.0.]
(7)Createavectorwithvaluesrangingfrom10to49
Z=np.arange(10,50)
#[10111213141516171819
#20212223242526272829
#30313233343536373839
#40414243444546474849]
(8)Reverseavector(firstelementbecomeslast)
Z=np.arange(10)
Z=Z[:
-1]
#[9876543210]
(9)Createa3x3matrixwithvaluesrangingfrom0to8
Z=np.arange(9).reshape(3,3)
#[[012]
#[345]
#[678]]
(10)Findindicesofnon-zeroelementsfrom[1,2,0,0,4,0]
nz=np.nonzero([1,2,0,0,4,0])
print(nz)
#(array([0,1,4],dtype=int64),)
(11)Createa3x3identitymatrix
Z=np.eye(3)
#[[1.0.0.]
#[0.1.0.]
#[0.0.1.]]
(12)Createa3x3x3arraywithrandomvalues
Z=np.random.random((3,3,3))
(13)Createa10x10arraywithrandomvaluesandfindtheminimumandmaximumvalues
Z=np.random.random((10,10))
Zmin,Zmax=Z.min(),Z.max()
print(Zmin,Zmax)
(14)Createarandomvectorofsize30andfindthemeanvalue
Z=np.random.random(30)
m=Z.mean()
print(m)
(15)Createa2darraywith1ontheborderand0inside
Z=np.ones((5,5))
Z[1:
-1,1:
-1]=0
#[[1.1.1.1.1.]
#[1.0.0.0.1.]
#[1.1.1.1.1.]]
(16)Howtoaddaborder(filledwith0’s)aroundanexistingarray?
Z=np.ones((3,3))
Z=np.pad(Z,pad_width=1,mode='
constant'
constant_values=0)
#[[0.0.0.0.0.]
#[0.1.1.1.0.]
#[0.0.0.0.0.]]
(17)Whatistheresultofthefollowingexpression?
print(0*np.nan)
#nan
print(np.nan==np.nan)
#False
print(np.inf>
np.nan)
print(np.nan-np.nan)
print(0.3==3*0.1)
(18)Createa5x5matrixwithvalues1,2,3,4justbelowthediagonal
Z=np.diag(1+np.arange(4),k=-1)
#[[00000]
#[10000]
#[02000]
#[00300]
#[00040]]
(19)Createa8x8matrixandfillitwithacheckerboardpattern
Z=np.zeros((8,8),dtype=int)
2]=1
Z[:
#[[01010101]
#[10101010]
#[01010101]
#[10101010]]
(20)Considera(6,7,8)shapearray,whatistheindex(x,y,z)ofthe100thelement?
print(np.unravel_index(100,(6,7,8)))
#(1,5,4)
(21)Createacheckerboard8x8matrixusingthetilefunction
Z=np.tile(np.array([[0,1],[1,0]]),(4,4))
(22)Normalizea5x5randommatrix
Z=np.random.random((5,5))
Zmax,Zmin=Z.max(),Z.min()
Z=(Z-Zmin)/(Zmax-Zmin)
(23)Createacustomdtypethatdescribesacolorasfourunsignedbytes(RGBA)
color=np.dtype([("
r"
np.ubyte,1),
("
g"
b"
a"
np.ubyte,1)])
print(color)
#dtype([('
r'
'
u1'
),('
g'
b'
a'
)])
(24)Multiplya5x3matrixbya3x2matrix(realmatrixproduct)
Z=np.dot(np.ones((5,3)),np.ones((3,2)))
#[[3.3.]
#[3.3.]
#[3.3.]]
(25)Givena1Darray,negateallelementswhicharebetween3and8,inplace.
Z=np.arange(11)
Z[(Z>
=3)&
(Z<
=8)]*=-1
#[012-3-4-5-6-7-8910]
(26)Whatistheoutputofthefollowingscript?
print(sum(range(5),-1))
#9
print(np.sum(range(5),-1))
#fromnumpyimport*
#print(sum(range(5),-1))
#10,parameteraxis=-1
(27)ConsideranintegervectorZ,whichoftheseexpressionsarelegal?
Z=np.array([-1,2,3])
print(Z**Z)
#[1427]
print(2<
<
Z>
>
2)
#[124]
print(Z<
-Z)
#[FalseFalseFalse]
print(1j*Z)
#complexnumber
#[0.+1.j0.+2.j0.+3.j]
print(Z/1/1)
#[1.2.3.]
print((Z<
Z)>
Z)
#array([False,False,False],dtype=bool)
(28)Whataretheresultofthefollowingexpressions?
print(np.array(0)/np.array(0))
#python2.70
#python3.5nan
print(np.array(0)//np.array(0))
#python3.50
print(np.array([np.nan]).astype(int).astype(float))
#python2.7[-2.14748365e+09]
#python3.5[-2.14748365e+09]
(29)Howtoroundawayfromzeroafloatarray?
Z=np.random.uniform(-10,10,10)
print(np.copysign(np.ceil(np.abs(Z)),Z))
(30)Howtofindcommonvaluesbetweentwoarrays?
Z1=np.random.randint(0,10,10)
Z2=np.random.randint(0,10,10)
print(np.intersect1d(Z1,Z2))
(31)Howtoignoreallnumpywarnings(notrecommended)?
#Suicidemodeon
defaults=np.seterr(all="
ignore"
)
Z=np.ones
(1)/0
#Backtosanity
_=np.seterr(**defaults)
#Anequivalentway,withacontextmanager:
withnp.errstate(divide='
ignore'
):
Z=np.ones
(1)/0
(32)Isthefollowingexpressionstrue?
np.sqrt(-1)==np.emath.sqrt(-1)
#leftpart->
nan
#rightpart->
1j
(33)Howtogetthedatesofyesterday,todayandtomorrow?
yesterday=np.datetime64('
today'
D'
)-np.timedelta64(1,'
today=np.datetime64('
tomorrow=np.datetime64('
)+np.timedelta64(1,'
(34)HowtogetallthedatescorrespondingtothemonthofJuly2016?
Z=np.arange('
2016-07'
2016-08'
dtype='
datetime64[D]'
#['
2016-07-01'
'
2016-07-02'
2016-07-03'
2016-07-04'
2016-07-05'
#'
2016-07-06'
2016-07-07'
2016-07-08'
2016-07-09'
2016-07-10'
2016-07-11'
2016-07-12'
2016-07-13'
201
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- numpy 练习题