[英]Reverse reshaping of a numpy array
我有一个由 30 个特征组成的时间序列t ,形状为(5400, 30)
。 为了绘制它并识别异常,我必须以下列方式重塑它:
t = t[:,0].reshape(-1)
现在,它变成了形状为(5400,)
的单个张量,我可以在其中执行分析并根据异常的位置创建由 True 和 False 组成的 5400 个元素的列表:
anomaly = [True, False, True, ...., False]
现在我想重塑这个大小为(30, 5400)
(与第一个相反)。 我怎样才能做到这一点?
编辑:这是我想要实现的一个例子:我有一个大小为(2, 4)
的时间序列
feature 1 | feature 2 | feature 3 | feature 4
0.3 0.1 0.24 0.25
0.62 0.45 0.43 0.9
编码为:
[[0.3, 0.1, 0.24, 0.25]
[0.62, 0.45, 0.43, 0.9]]
当我重塑它时,我得到这个大小为 (8,) 的单变量时间序列:
[0.3, 0.1, 0.24, 0.25, 0.62, 0.45, 0.43, 0.9]
在这个时间序列中,我应用了一种异常检测方法,该方法为我提供了每个值的真/假列表:
[True, False, True, False, False, True, True, False]
我想制作这个与原始形状相反的列表,所以它的结构如下:
feature 1 True, False
feature 2 False, True
feature 3 True, True
feature 4 False, False
形状为 (4, 2),因此编码应为:
[[True, False]
[False, True]
[True, True]
[False, False]]
t = np.array([[0.3, 0.1, 0.24, 0.25],[0.62, 0.45, 0.43, 0.9]])
anomaly= [True, False, True, False, False, True, True, False]
your_req_array = np.array(anomaly).reshape(2,4).T
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.