Ich versuche, ein ziemlich großes Array codierter Daten effizient umzuformen. Das ursprüngliche Array (orig_array) wird mithilfe der Thermometer-Kodierung (enc_array)
codiert
import numpy as np
from numpy.lib.stride_tricks import sliding_window_view
n_features = 4
time_window = 3
n_bins = 3
orig_array = np.array([1,0,2,1,2,1,0,3,1,3,0,1,2,0,3,1,0,1,2,1])
def encode(arr, n_bins):
res = np.stack([np.pad(np.ones(t), (0,n_bins - t), 'constant') for t in arr])
return res.flatten()
# apply thermometer encoding & reshape
enc_array = encode(orig_array, n_bins)
reshp_array = np.reshape(enc_array, (5,12))
Ich habe zwei Fragen: Erstens möchte ich beim Codieren von Daten (Thermometer-Codierung) „sliding_window_view“ (oder eine andere nette Methode) anwenden, sodass das resultierende Array wie folgt aussieht: (Jeder 3 optisch getrennte Ints entspricht einem codierten Feature)
Die erste Zeile dieses Arrays entspricht Daten wie folgt:
[encoded_feature1@t=0, encoded_feature2@t=0, encoded_feature3@t=0, encoded_feature4@t=0,
encoded_feature1@t=1, encoded_feature2@t=1, encoded_feature3@t=1, encoded_feature4@t=1,
encoded_feature1@t=2, encoded_feature2@t=2, encoded_feature3@t=2, encoded_feature4@t=2]
Die 2. Zeile dieses Arrays entspricht Daten wie
[encoded_feature1@t=1, encoded_feature2@t=1, encoded_feature3@t=1, encoded_feature4@t=1,
encoded_feature1@t=2, encoded_feature2@t=2, encoded_feature3@t=2, encoded_feature4@t=2,
encoded_feature1@t=3, encoded_feature2@t=3, encoded_feature3@t=3, encoded_feature4@t=3]
und die 3. Zeile dieses Arrays entspricht Daten, so dass
[encoded_feature1@t=2, encoded_feature2@t=2, encoded_feature3@t=2, encoded_feature4@t=2,
encoded_feature1@t=3, encoded_feature2@t=3, encoded_feature3@t=3, encoded_feature4@t=3,
encoded_feature1@t=4, encoded_feature2@t=4, encoded_feature3@t=4, encoded_feature4@t=4]
Zweitens möchte ich die folgende Form und Reihenfolge der Elemente erhalten (Form ist 3x9x4):
Natürlich besteht eine Möglichkeit darin, eine Schleife zu verwenden, aber ich suche nach einer effizienteren Möglichkeit. Ich denke, dass dies durch die Anwendung einer Kombination aus Sliding_Window_View und Step Slicing erreicht werden kann. Aber ich hänge schon seit einiger Zeit daran fest und komme einfach nicht dahinter. Ich würde mich über Vorschläge freuen.
Ich versuche, ein ziemlich großes Array codierter Daten effizient umzuformen. Das ursprüngliche Array (orig_array) wird mithilfe der Thermometer-Kodierung (enc_array) codiert[code]import numpy as np from numpy.lib.stride_tricks import sliding_window_view
[[1,0,0, 1,1,0, 1,0,0], [0,0,0, 1,0,0, 1,1,1], [1,1,0, 0,0,0, 0,0,0], [1,0,0, 1,1,1, 1,0,0]]] [/code] Natürlich besteht eine Möglichkeit darin, eine Schleife zu verwenden, aber ich suche nach einer effizienteren Möglichkeit. Ich denke, dass dies durch die Anwendung einer Kombination aus Sliding_Window_View und Step Slicing erreicht werden kann. Aber ich hänge schon seit einiger Zeit daran fest und komme einfach nicht dahinter. Ich würde mich über Vorschläge freuen.
Ich versuche, ein ziemlich großes Array codierter Daten effizient umzuformen. Das ursprüngliche Array (orig_array) wird mithilfe der Thermometer-Kodierung (enc_array)
codiert import numpy as np
from...
Ich habe einige Daten, die in einem Wörterbuch mit Datenrahmen gespeichert sind. Die realen Daten sind mit einem Index von bis zu 3000 und mehr Spalten viel größer.
Am Ende möchte ich ein Violinplot...
Ich habe einige Daten, die in einem Wörterbuch mit Datenrahmen gespeichert sind. Die realen Daten sind mit einem Index von bis zu 3000 und mehr Spalten viel größer.
Am Ende möchte ich ein Violinplot...
Ich habe einen codierten UI-Test erstellt und möchte daraus einen datengesteuerten Test machen.
Ich möchte die Daten aus einer Excel-Datei (Data.xls) abrufen, die sich im selben Verzeichnis wie die...