numpy 100题练习 Day1

https://github.com/rougier/numpy-100

Import the numpy package under the name np

使用import语句导入numpy,别名为np。

1
import numpy as np

查看numpy的版本和设置。

1
2
3
4
print(np.__version__)
np.show_config()

# 记得要先运行导入numpy代码,才能运行这个

Create a null vector of size 10

创建一个大小为10,全是浮点数0的矢量

1
2
3
4
Z = np.zeros(10)
print(Z)

>>> [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]

How to find the memory size of any array

数组总字节大小的属性 = 数组的总大小size * 每个数组元素字节的大小itemsize

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

>>> 800 bytes

How to get the documentation of the numpy add function from the command line?

如何在cmd得到numpy.add函数的文档?

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

D1

Create a null vector of size 10 but the fifth value which is 1

创建10个浮点数值为0的矢量,改变索引5的值,改成1。

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

>>> [0. 0. 0. 0. 1. 0. 0. 0. 0. 0.]

Create a vector with values ranging from 10 to 49

创建一个矢量,生成start = 10, stop = 50的等间隔数值,默认间隔为1。

1
2
3
4
5
Z = np.arange(10,50)
print(Z)

>>> [10 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 36 37 38 39 40 41 42 43 44 45 46 47 48 49]

Reverse a vector (first element becomes last)

创建一个矢量,生成start = 10, stop = 50的等间隔数值,默认间隔为1。并且所有元素逆序。

1
2
3
4
5
6
7
Z = np.arange(50)
Z = Z[::-1]
print(Z)

>>> [49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26
25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2
1 0]

Create a 3x3 matrix with values ranging from 0 to 8

创建一个矩阵,生成start = 0, stop = 9 的等间隔数值,默认间隔为1。3行3列。

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

>>>[[0 1 2][3 4 5][6 7 8]]

Find indices of non-zero elements from [1,2,0,0,4,0]

从[1,2,0,0,4,0]中查找非0元素。

np.nonzero()返回非0元素的位置,数组中索引0、1、4的位置分别为1、2、4。

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

>>> (array([0, 1, 4]),)