Home > Blockchain >  Reverse reshaping of a numpy array
Reverse reshaping of a numpy array

Time:10-16

I have a time series t composed of 30 features, with a shape of (5400, 30). To plot it and identify the anomalies I had to reshape it in the following way:

t = t[:,0].reshape(-1)

Now, it became a single tensor of shape (5400,) where I had the possibility to perform my analysis and create a list of 5400 elements composed of True and False, based on the position of the anomalies:

anomaly = [True, False, True, ...., False]

Now I would like to reshape this list of a size (30, 5400) (the reverse of the first one). How can I do that?

EDIT: this is an example of what I'm trying to achieve: I have a time series of size (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

Coded as:

[[0.3, 0.1, 0.24, 0.25]
[0.62, 0.45, 0.43, 0.9]]

When I reshape it I get this univariate time series of size (8,):

[0.3, 0.1, 0.24, 0.25, 0.62, 0.45, 0.43, 0.9]

On this time series I applied an anomaly detection method which gave me a list of True/False for each value:

[True, False, True, False, False, True, True, False]

I wanna make this list of the reverse of the shape of the original one, so it would be structured as:

feature 1 True, False 
feature 2 False, True
feature 3 True, True
feature 4 False, False

with a shape of (4, 2), so coded it should be:

[[True, False]
[False, True]
[True, True]
[False, False]]

CodePudding user response:

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
  • Related