Ich habe vier Zeitreihen Signale, die zu verschiedenen Zeiten an und später auch zu verschiedenen Zeiten ausschaltet. Zeit = [(0,23), (5,15), (9,20), (12,25)]Slicing mehrere Arrays, wo ihre Indizes nicht die gleichen sind
Zum Beispiel wurde Kanal 0 zur Zeit 0 eingeschaltet und nach 23 Sekunden ausgeschaltet. Kanal zwei eingeschaltet um Zeit = 5 Sekunden und ausgeschaltet um 15.
Ich möchte jedes Array nach ihrem Inhalt in der folgenden Zeit Raster: [(0,4), (5,8), (9 , 11), (12,14), (15,19), (20,22), (23,24)] Wenn das Signal noch nicht begonnen hat oder das Signal vorbei ist, möchte ich, dass meine Liste ein enthält leerer Schlitz.
Schließlich möchte ich eine Liste ähnlich Signal0, Signals1, Signal2, Signals3 produzieren. das Zeitraster wäre
hier ein minimales Beispiel ist mein Problem beschreibt:
import numpy as np
Signals=[np.random.normal(0,1,23),np.random.normal(0,1,10),np.random.normal(0,1,11),np.random.normal(0,1,13)]
np.set_printoptions(precision=3)
print Signals
time = [(0,23),(5,15),(9,20),(12,25)]
print time
Signals0=[[-0.585, 0.005, -0.932, -0.322, -0.527],
[0.246, 1.95 , -0.673,0.389]
[0.285,0.245, 1.226],
[0.41,-0.184, 1.642],
[0.463,0.813, 0.021, 0.531, -0.59],
[0.694, -0.528, 0.924],
[]
]
Signals1 = [[],
[ 0.74 , -0.692, -0.302, 0.558],
[0.475, -1.605, 0.438],
[ -1.106,-0.02 , 0.042],
[],
[],
[]
]
Signals2 = [[],
[],
[1.435, 0.855, -2.098],
[0.532, -0.596, 1.415],
[0.727, 0.617,-1.88 , -1.203, -0.918],
[],
[]
]
Signals3 = [[],
[],
[],
[2.462, -1.198, -0.098],
[-2.152, 1.081, -0.519, 0.675, -0.077],
[1.491, 0.071, -0.267, 1.243],
[-1.507]
]
Dies ist, wie meine Kanäle aussehen
[array([-0.585, 0.005, -0.932, -0.322, -0.527, 0.246, 1.95 , -0.673,
0.389, 0.285, 0.245, 1.226, 0.41 , -0.184, 1.642, 0.463,
0.813, 0.021, 0.531, -0.59 , 0.694, -0.528, 0.924]), array([ 0.74 , -0.692, -0.302, 0.558, 0.475, -1.605, 0.438, -1.106,
-0.02 , 0.042]), array([ 1.435, 0.855, -2.098, 0.532, -0.596, 1.415, 0.727, 0.617,
-1.88 , -1.203, -0.918]), array([ 2.462, -1.198, -0.098, -2.152, 1.081, -0.519, 0.675, -0.077,
1.491, 0.071, -0.267, 1.243, -1.507])]
Ich verstehe nicht, wo Ihr Beispiel herkommt oder was ist die Logik dahinter. Bitte geben Sie eine klare [mcve]. Ein Beispiel mit lokal generierten Zufallswerten ist wenig aussagekräftig ... – Julien
Ich habe 4 Audiodateien, die an verschiedenen Instanzen beginnen und an verschiedenen Instanzen enden. Ich möchte den Teil des Arrays, der in einem bestimmten Zeitfenster passiert ist, in die gleiche Listenposition bringen. Die erste Position in der Signal0-Liste repräsentiert also den Teil des Signals, der zwischen der Zeit 0 und 4 Sekunden aufgetreten ist. @Julien Bernu – MAS
Also, was ist falsch mit grundlegenden Slicing? – Julien