Matplotlib的几个典型绘制实验
➤01 不同线性绘制
x = arange(0, 3.0, 0.1)
plt.plot(x, sin(x), 'r--', x, x*2, 'c1', x, x**2, 'b+')
- 1
- 2
▲ 几款不同绘制线型结果
在MATPLOTLIB中对于绘制曲线的颜色定义参见: MATPLOTLIB中的颜色定义
▲ MATPLOTLIB中的颜色定义
➤02 多图绘制
x1 = arange(0.1, a, 0.1)
x2 = arange(0.1, a, 0.05)
plt.subplot(211)
plt.plot(x1, f1(x1), 'go', x2, f2(x2), 'k')
plt.grid(True)
plt.subplot(212)
plt.scatter(x2, f2(x2))
plt.grid(True)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
▲ 多图绘制演示
➤03 绘制散点图示意图
random.seed(int(time.time()))
N = 100
x = random.rand(N)
y = 10 * x**2 + random.rand(N) * a
colors = random.rand(N)
areas = (20 * random.rand(N)) ** 2
plt.clf()
plt.scatter(x, y, s=areas, c=colors, alpha=0.5)
plt.xlabel("x")
plt.ylabel("y")
plt.grid(True)
plt.tight_layout()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
▲ 散点图示例
➤04 五个优雅的NumPy库函数
在五个优雅的Numpy函数 中Baijayyanta Roy介绍了几个Numpy中用于机器学习和数据科学工程的函数。
1.reshape()中的-1参数
Numpy 允许我们根据给定的新形状重塑矩阵,新形状应该和原形状兼容。有意思的是,我们可以将新形状中的一个参数赋值为-1。这仅仅表明它是一个未知的维度,我们希望 Numpy 来算出这个未知的维度应该是多少:Numpy 将通过查看数组的长度和剩余维度来确保它满足上述标准。让我们来看以下例子:
▲ reshape函数使用-1参数的效果
2.argpartion()
Numpy 的 argpartion 函数可以高效地找到 N 个最大值的索引并返回 N 个值。在给出索引后,我们可以根据需要进行值排序。
▲ argpartion在数组中寻找最大的N个元素
比如获得结果中最大的两个数值所对应的索引:
AA = argpartition(A,-2)[-2:]
- 1
- 举例:
A = random.rand(10)
printff('A=',A)
AA = argpartition(A,-2)[-2:]
printff('AA=',AA)
printff('A[AA]=',A[AA])
- 1
- 2
- 3
- 4
- 5
- 6
A= [0.96815066 0.83087994 0.23400677 0.8570243 0.19535788 0.19072486 0.66225419 0.8177829 0.45656971 0.95308762]
AA= [9 0]
A[AA]= [0.95308762 0.96815066]
- 1
- 2
- 3
下面是使用sort(), argsort()达到同样功能的示例。不过,使用argpartition的效率比sort的效率高。
A = random.rand(10)
printf(A)
AA = argsort(A)
printf(AA)
printf(A[AA])
- 1
- 2
- 3
- 4
- 5
- 6
A = [0.72849843 0.79820074 0.96036724 0.22006177 0.2128844 0.31795377 0.36778209 0.03589072 0.1460506 0.67651717]
argsort = [7 8 4 3 5 6 9 0 1 2]
A[AA]= [0.03589072 0.1460506 0.2128844 0.22006177 0.31795377 0.36778209 0.67651717 0.72849843 0.79820074 0.96036724]
- 1
- 2
- 3
3.clip()函数:
在很多数据处理和算法中(比如强化学习中的 PPO),我们需要使得所有的值保持在一个上下限区间内。Numpy 内置的 Clip 函数可以解决这个问题。Numpy clip () 函数用于对数组中的值进行限制。给定一个区间范围,区间范围外的值将被截断到区间的边界上。例如,如果指定的区间是 [-1,1],小于-1 的值将变为-1,而大于 1 的值将变为 1。
▲ 限制数组中的最小值为2,最大值为6
4. extract:寻找数组中符合条件的元素
我们可以使用 Numpy extract () 函数从数组中提取符合条件的特定元素。
5.setdiff1d()
返回数组中不在另一个数组中的独有元素。这等价于两个数组元素集合的差集。
原文链接:https://towardsdatascience.com/5-smart-python-numpy-functions-dfd1072d2cb4
文章来源: zhuoqing.blog.csdn.net,作者:卓晴,版权归原作者所有,如需转载,请联系作者。
原文链接:zhuoqing.blog.csdn.net/article/details/110083016
- 点赞
- 收藏
- 关注作者
评论(0)