首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Numpy 100道练习(一)

通过实例学习功能是一个很好的方式,现在我们开始吧:

1、如何引入numpy包并命名为np?

import numpy as np

2、如何显示numpy包的版本和配置?

print(np.__version__)

np.show_config()

3、如何创建一个长度为10的空向量?

Z = np.zeros(10)

print(Z)

4、如何在命令行获得numpy包内add函数的文档说明?

python -c "import numpy; numpy.info(numpy.add)"

5、如何创建一个长度为10的空向量,并在第四个位置上赋值1?

Z = np.zeros(10)

Z[4] = 1

print(Z)

6、如何创建一个向量并赋值为从10到49?

Z = np.arange(10,50)

print(Z)

7、如何倒置一个向量(原第一个值变为最后一个)?

Z = np.arange(50)

Z = Z[::-1]

8、如何创建一个3x3的矩阵,并赋值0-8?

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

print(Z)

9、如何在[1,2,0,0,4,0]中找出非零的元素?

nz = np.nonzero([1,2,0,0,4,0])

print(nz)

10、如何创建一个3x3的单位矩阵?

Z = np.eye(3)

print(Z)

11、如何创建一个3x3x3的多维数组,并随机赋值?如何改变数值属性为字符串型?

Z.astype(str)

print(Z)

12、如何对查找一个随机赋值10x10数组中的最大数和最小数?

Zmin, Zmax = Z.min(), Z.max()

print(Zmin, Zmax)

13、如何计算一个长度为30的向量的平均值?

m = Z.mean()

print(m)

14、如何创建一个二维数组,边框为1,内部为0?

Z = np.ones((10,10))

Z[1:-1,1:-1] = 0

15、下列表达式结果是什么?

0 * np.nan nan

np.nan == np.nan False

np.inf > np.nan False

np.nan - np.nan nan

0.3 == 3 * 0.1 False

16、如何建一个5x5的矩阵,并将1、2、3、4放在对角线下方?

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

print(Z)

17、如何创建一个8x8矩阵,并且填充为棋盘图案?

Z = np.zeros((8,8),dtype=int)

Z[1::2,::2] = 1

Z[::2,1::2] = 1

print(Z)

array([[0, 1, 0, 1, 0, 1, 0, 1],

[1, 0, 1, 0, 1, 0, 1, 0],

[0, 1, 0, 1, 0, 1, 0, 1],

[1, 0, 1, 0, 1, 0, 1, 0],

[0, 1, 0, 1, 0, 1, 0, 1],

[1, 0, 1, 0, 1, 0, 1, 0],

[0, 1, 0, 1, 0, 1, 0, 1],

[1, 0, 1, 0, 1, 0, 1, 0]])

18、考虑一个6x7x8的多维数组,第100个元素的坐标是什么?

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

(1,5,4)

19、如何用tile函数创建一个8x8的棋盘矩阵?

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

print(Z)

20、如何标准化(将随机数调整为0-1间随机分布)一个5x5的随机矩阵?

Zmax, Zmin = Z.max(), Z.min()

Z = (Z - Zmin)/(Zmax - Zmin)

print(Z)

(未完待续)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180712G0V9ZQ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券