本博客仅为作者记录笔记之用,不免有很多细节不对之处。还望各位看官能够见谅,欢迎批评指正。
此文中的题目均来自GitHub,完整代码请参考我的GitHub。期待各位的小心心~~~
一、初级
导入numpy包,并重命名为np (★☆☆)
打印numpy库的版本 (★☆☆)
输出numpy矩阵的大小 (★☆☆)
如何获取numpy库中某一个函数(如add)的帮助文档 (★☆☆)
创建一个0向量,向量长度为10,第五个元素为1(★☆☆)
创建一个向量,值的大小从10开始到49 (★☆☆)
创建一个长度为10的0向量(★☆☆)
反转向量 (★☆☆)
创建1个3*3的矩阵,值为0到8 (★☆☆)
找出向量[1,2,0,0,4,0]中0的索引 (★☆☆)
创建1个3*3的单位阵 (★☆☆)
创建一个3*3*3的矩阵,数值为0-1中随机取值 (★☆☆)
创建一个10*10的随机矩阵,找到矩阵中的最小值,最大值 (★☆☆)
创建一个长度为30的随机向量,找到向量的均值 (★☆☆)
创建一个2维矩阵,边界元素取1,内部元素取0 (★☆☆)
如何在一个矩阵外围添加一圈0 (★☆☆)
创建一个5*5的矩阵,对角线元素为[1, 2, 3, 4, 5] (★☆☆)
创建一个8*8的矩阵,矩阵内的元素为0,1相间 (★☆☆)
正则化一个5*5的矩阵 (★☆☆)
创建一个6*7*8的矩阵,输出第100个数字的索引(x, y, z) (★☆☆)
使用tile函数创建一个0,1相间的8*8矩阵 (★☆☆)
创建一个自定义类型,来表示四种颜色(RGBL) (★☆☆)
实现一个5*3的矩阵和3*2的矩阵相乘 (★☆☆)
给一个一维向量,将向量中5到8的元素设置为-1 (★☆☆)
如何把一个向量中分非0元素移除 (★☆☆)
如何查看两个向量中的共同元素 (★☆☆)
如何忽视掉numpy的warning信息 (★☆☆)
如何使用numpy库获取昨天、今天、明天的日期 (★☆☆)
下面表达式中的输出结果为什么? (★☆☆)
0 * np.nan
np.nan == np.nan
np.inf > np.nan
np.nan - np.nan
0.3 == 3 * 0.1
2.中级
如何获取2017年6月的所有日期,将其存放在一个列表中 (★★☆)
不使用赋值的方式计算((A+B)*(-A/2)) (★★☆)
提取一个浮点型向量中整数部分 (★★☆)
创建一个5*5的矩阵,列值为0到4 (★★☆)
使用一个生成函数来创建一个矩阵 (★★☆)
创建一个长度为10的向量,向量的值为0到1,包括0和1 (★★☆)
创建一个长度为10的随机取值的向量,并对其进行排序 (★★☆)
使用一种方法对向量进行求和,使得它比np.sum更快 (★★☆)
如何去比较两个向量是否相等 (★★☆)
创建一个矩阵,该矩阵的状态为只读,不可修改 (★★☆)
答案
一、 初级
- import numpy as np
- print(np.version)
- x = np.zeros(shape=[10], dtype=np.float32)
print(x.size)
print(x.itemsize) - print(np.info(np.add))
- x = np.zeros(shape=[10])
x[4] = 1 - np.arange(start=10, stop=50, step=1)
- np.zeros(shape=[10])
- x = np.arange(start=10, stop=50, step=1)
np.flip(x, axis=-1)
x[::-1] - x = np.arange(0, 9)
x.reshape(3, 3) - x = np.array([1, 2, 0, 0, 4, 0])
np.where(x != 0)
np.nonzero(x) - np.eye(3)
- np.random.random((3, 3, 3))
np.random.randint(27, size=(3, 3, 3)) - x = np.random.random((10, 10))
x.max(), x.min() - x = np.random.random(30)
x.mean() - x = np.ones((4, 4))
x[1:-1, 1:-1] = 0 - x = np.ones((4, 4))
y = np.pad(array=x, pad_width=1, mode=’constant’) - x = np.array([1, 2, 3, 4])
np.diag(x) - x = np.zeros((8, 8))
x[1::2, ::2] = 1
x[::2, 1::2] = 1 - x = np.random.random(size=(5, 5))
x_mean = np.mean(x)
x_var = np.var(x)
x_norm = (x - x_mean) / np.sqrt(x_var) - np.unravel_index(100, (6, 7, 8))
- np.tile(np.array([[0, 1], [1, 0]]), (4, 4))
- color = np.dtype([(“r”, np.ubyte, 1),
(“g”, np.ubyte, 1),
(“b”, np.ubyte, 1),
(“a”, np.ubyte, 1)]) - x = np.arange(15).reshape((5, 3))
y = np.arange(6).reshape((3, 2))
np.dot(x, y) - x = np.arange(11)
x[(x >= 3) & (x <= 8)] = -1 - x = np.random.uniform(-10, +10, 10)
np.copysign(np.ceil(np.abs(x)), x) - x = np.arange(0, 10)
y = np.arange(5, 15)
np.intersect1d(x, y) - defaults = np.seterr(all=”ignore”)
Z = np.ones(1) / 0
_ = np.seterr(**defaults) - today = np.datetime64(‘today’, ‘D’)
yesterday = today - np.datetime64(1, ‘D’)
tomorrow = today + np.datetime64(1, ‘D’) - 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