import numpy as np什么意思_这100道练习,带你玩转Numpy(附代码)

这篇博客提供了100个关于Numpy库的实践练习,涵盖了从导入库、创建数组、操作矩阵到高级功能,如矩阵运算、数据处理和函数应用。通过这些练习,读者可以深入理解和掌握Numpy的功能。
摘要由CSDN通过智能技术生成

1.导入numpy库并简写为 np

(提示: import … as …)

import numpy as np

2.打印numpy的版本和配置说明

(提示: np.__version__, np.show_config)

print(np.__version__)np.show_config()

3.创建一个长度为10的空向量

(提示: np.zeros)

Z = np.zeros(10)print(Z)

4.如何找到任何一个数组的内存大小?

(提示: size, itemsize)

Z = np.zeros((10,10))print("%d bytes" % (Z.size * Z.itemsize))

5.如何从命令行得到numpy中add函数的说明文档?

(提示: np.info)

np.info(np.add)

6.创建一个长度为10并且除了第五个值为1的空向量

(提示: array[4])

Z = np.zeros(10)Z[4] = 1print(Z)

7.创建一个值从10到49的向量

(提示: np.arange)

Z = np.arange(10,50)print(Z)

8.反转一个向量(第一个元素变为最后一个)

(提示: array[::-1])

Z = np.arange(50)Z = Z[::-1]print(Z)

9.创建一个 3x3 并且值从0到8的矩阵

(提示: reshape)

Z = np.arange(9).reshape(3,3)print(Z)

10.找到数组[1,2,0,0,4,0]中非0元素的位置索引

(提示: np.nonzero)

11.创建一个 3x3 的单位矩阵

(提示: np.eye)

Z = np.eye(3)print(Z)

12.创建一个 3x3x3的随机数组

(提示: np.random.random)

Z = np.random.random((10,10))Zmin, Zmax = Z.min(), Z.max()print(Zmin, Zmax)

13.创建一个 10x10 的随机数组并找到它的最大值和最小值

(提示: min, max)

Z = np.random.random((10,10))Zmin, Zmax = Z.min(), Z.max()print(Zmin, Zmax)

14.创建一个长度为30的随机向量并找到它的平均值

(提示: mean)

0*np.nannp.nan==np.nannp.inf>np.nannp.nan-np.nan0.3==3*0.1

15.创建一个二维数组,其中边界值为1,其余值为0

(提示: array[1:-1, 1:-1])

Z = np.diag(1+np.arange(4),k=-1)print(Z)

16.对于一个已经存在的数组,如何添加一个用0填充的边界?

(提示: np.pad)

Z = np.zeros((8,8),dtype=int)Z[1::2,::2] = 1Z[::2,1::2] = 1print(Z)

17.以下表达式运行的结果分别是什么?

(提示: NaN = not a number, inf = infinity

0*np.nannp.nan==np.nannp.inf>np.nannp.nan-np.nan0.3==3*0.1

18.创建一个 5x5的矩阵,并设置值1,2,3,4落在其对角线下方位置

(提示: np.diag)

print(np.unravel_index(100,(6,7,8)))

19.创建一个8x8 的矩阵,并且设置成棋盘样式

(提示: array[::2])

Z = np.zeros((8,8),dtype=int)Z[1::2,::2] = 1Z[::2,1::2] = 1print(Z)

20.考虑一个 (6,7,8) 形状的数组,其第100个元素的索引(x,y,z)是什么?

(提示: np.unravel_index)

print(np.unravel_index(100,(6,7,8)))

21.用tile函数去创建一个 8x8 的棋盘样式矩阵

(提示: np.tile)

Z = np.tile( np.array([[0,1],[1,0]]), (4,4))print(Z)

22.对一个5x5的随机矩阵做归一化

(提示: (x - min) / (max - min))

Z = np.random.random((5,5))Zmax, Zmin = Z.max(), Z.min()Z = (Z - Zmin)/(Zmax - Zmin)print(Z)

23.创建一个将颜色描述为(RGBA)四个无符号整数的自定义dtype?

(提示: np.dtype)

color = np.dtype([("r", np.ubyte, 1),("g", np.ubyte, 1),("b", np.ubyte, 1),("a", np.ubyte, 1)])

24.一个5x3的矩阵与一个3x2的矩阵相乘,实矩阵乘积是什么?

(提示: np.dot | @)

Z = np.dot(np.ones((5,3)), np.ones((3,2)))print(Z)

25.给定一个一维数组,对其在3到8之间的所有元素取相反数

(提示: >, <=)

Z = np.arange(11)Z[(3 

26.下面脚本运行后的结果是什么?

(提示: np.sum)

print(sum(range(5),-1))

27.考虑一个整数向量Z,下列表达合法的是哪个?

Z = np.arange(5)Z ** Z # legal2 <> 2 # falseZ Z # false

28.下列表达式的结果分别是什么?

np.array(0) /np.array(0)np.array(0) //np.array(0)np.array([np.nan]).astype(int).astype(float)

29.如何从零位对浮点数组做舍入 ?

(提示: np.uniform, np.copysign, np.ceil, np.abs)

Z = np.random.uniform(-10,+10,10)print (np.copysign(np.ceil(np.abs(Z)), Z))

30.如何找到两个数组中的共同元素?

(提示: np.intersect1d)

Z1 = np.random.randint(0,10,10)Z2 = np.random.randint(0,10,10)print(np.intersect1d(Z1,Z2))

31.如何忽略所有的 numpy 警告(尽管不建议这么做)?

(提示: np.seterr, np.errstate)

defaults=np.seterr(all="ignore")Z=np.ones(1) /0# 恢复_=np.seterr(**defaults)

32.下面的表达式是正确的吗?

(提示: imaginary number)

np.sqrt(-1) ==np.emath.sqrt(-1) # False

33.如何得到昨天,今天,明天的日期?

(提示: np.datetime64, np

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值