黑客|90个Numpy的有用的代码片段

黑客|90个Numpy的有用的代码片段

文章图片

黑客|90个Numpy的有用的代码片段


这些有用的片段在面试中也会经常出现 , 也可以作为日常的numpy练习 。
1、导入numpy
import numpy as np
2、打印numpy信息
print(np.__version__)
np.show_config()
3、创建空向量
Z = np.zeros(10)
print(Z)
4、获取numpy 函数的文档
python -c \"import numpy; numpy.info(numpy.add)\"
5、创建大小为10但第5个值为1的空向量
Z = np.zeros(10)
Z[4
= 1
print(Z)
6、创建一个值从10到49的向量
Z = np.arange(1050)
print(Z)
7、反转一个向量(第一个元素变成最后一个元素)
Z = np.arange(50)
Z = Z[::-1

8、创建一个值从0到8的3x3矩阵
Z = np.arange(9).reshape(33)
print(Z)
9、从[120040
中找到非零元素的下标
nz = np.nonzero([120040
)
print(nz)
10、创建一个3x3单位矩阵
Z = np.eye(3)
print(Z)
11、创建一个带有随机值的3x3x3数组
Z = np.random.random((333))
print(Z)
12、创建一个带有随机值的10x10数组 , 并找到最小值和最大值
Z = np.random.random((1010))
Zmin Zmax = Z.min() Z.max()
print(Zmin Zmax)
13、创建一个大小为30的随机向量 , 并找出平均值
Z = np.random.random(30)
m = Z.mean()
print(m)
14、创建一个边界为1 , 内部为0的2d数组
Z = np.ones((1010))
Z[1:-11:-1
= 0
15 、下面表达式的结果是什么?
0 * np.nan
np.nan == np.nan
np.inf > np.nan
np.nan - np.nan
0.3 == 3 * 0.1

16、创建一个5 × 5矩阵 , 对角线值为1234
Z = np.diag(1+np.arange(4)k=-1)
print(Z)
17、创建一个8x8的矩阵 , 并使用0 , 1间隔填充
Z = np.zeros((88)dtype=int)
Z[1::2::2
= 1
Z[::21::2
= 1
print(Z)
18、一个(678)形状数组 , 第100个元素的下标(xyz)是多少?
print(np.unravel_index(100(678)))
19、使用tile函数创建一个8x8的0 , 1间隔填充矩阵
Z = np.tile( np.array([[01
[10

) (44))
print(Z)
20、标准化一个5x5随机矩阵
Z = np.random.random((55))
Zmax Zmin = Z.max() Z.min()
Z = (Z - Zmin)/(Zmax - Zmin)
print(Z)
21、创建一个自定义的dtype , 将颜色描述为4个unisgned字节(RGBA)
color = np.dtype([(\"r\" np.ubyte 1)
(\"g\" np.ubyte 1)
(\"b\" np.ubyte 1)
(\"a\" np.ubyte 1)
)
22、将一个5x3矩阵乘以一个3x2矩阵(实矩阵乘积)
Z = np.dot(np.ones((53)) np.ones((32)))
print(Z)
23、给定一个一维数组 , 对3到8之间的所有元素求反、
# Author: Evgeni Burovski
Z = np.arange(11)
Z[(3 < Z) & (Z <= 8)
*= -1
24、以下脚本的输出是什么?
# Author: Jake VanderPlas
print(sum(range(5)-1))
from numpy import *
print(sum(range(5)-1))
##结果 :10
25、整数向量Z , 下面哪个表达式是合法的?
Z**Z
2 << Z >> 2
Z <- Z
1j*Z
Z/1/1
Z<Z>Z #除这个外都合法
26、下列表达式的结果是什么?
np.array(0) // np.array(0)
np.array(0) // np.array(0.)
np.array(0) / np.array(0)
np.array(0) / np.array(0.)

27、如何四舍五入?# Author: Charles R Harris
Z = np.random.uniform(-10+1010)
print (np.trunc(Z + np.copysign(0.5 Z)))
28、 使用 5 种不同的方法提取随机数组的整数部分
Z = np.random.uniform(01010)
print (Z - Z%1)
print (np.floor(Z))
print (np.ceil(Z)-1)
print (Z.astype(int))
print (np.trunc(Z))
29、 创建一个值范围为 0 到 4的 5x5 矩阵
Z = np.zeros((55))