[英]Is there an analog to matlab's hgtransform in python? It made coding fi
[英]matlab to python coding
我在 MATLAB 中有这个代码,我正在尝试在 Python 中转换它。
yc(1:45)=-2;
yc(46:90)=2;
yc(91:136)=-2;
yc(137:182)=2;
我不知道如何在 python thnx 中转换它来帮助我
直接等效,使用numpy
将是:
>>> import numpy as np
>>> yc = np.empty(182)
>>> yc[:45] = -2 # Equivalent to, yc[0:45] = -2
>>> yc[45:90] = 2
>>> yc[90:136] = -2
>>> yc[136:] = 2 # Equivalent to, yc[136:182] = 2
其中np.empty
创建一个具有给定形状的随机值的数组。 然后我们继续通过访问切片来分配不同的值。
>>> yc = np.arange(182)
>>> yc = np.select(condlist=[
yc < 45, (45 <= yc) & (yc < 90),
(90 <= yc) & (yc < 136), yc >= 136
],
choicelist=[-2, 2, -2, 2])
>>> yc
array([-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2])
这里np.arange
创建了一个值范围从 0 到 181(总共 182 个值)的数组,我们创建一个新数组,根据不同的条件替换数组中的不同值。
要记住的事情:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.