Ich habe mehrere Arrays mit unterschiedlicher Länge, und ich möchte, dass diese Daten zu vergleichbaren Arrays gemittelt werden, z.Durchschnittliche Arrays zu gleicher fester Länge
array1 = np.array([1, 2, 3, 4, 5])
array2 = np.array([1, 2, 3, 4])
target_length = 3
def cast(array, target_length):
...
sollten Diese geben cast(array1, target_length)
wie:
np.array([(1+2*0.66)/1.66, (2*0.33+3*1+4*0.33)/1.66, (4*0.66+5)/1.66 ])
weil: 5/3 = 1,66. Auch würden wir erhalten: cast(array1, target_length)
als:
np.array([(1+2*0.33)/1.33, (2*0.66+3*0.66)/1.33, (3*0.33+4)/1.33])
weil: 4/3 = 1,33.
Die Arrays werden nie wachsen müssen, da eine gute numpy
Lösung dafür verfügbar ist.
Gibt es eine Lösung mit der Bibliothek numpy
?
Was ist die generische Formel, die Sie anwenden würden? Was ist, wenn das Array wachsen muss? Was ist, wenn die Ziellänge 1 ist? – trincot
Sie müssen ein wenig klarer sein, nicht sicher, was Sie versuchen zu tun. – PrestonH
Ich aktualisierte meine Antwort. Die Arrays werden nicht wachsen. Die Richtlinie besteht darin, die Array-Länge durch die "target_length" zu teilen, um einen Schwellenwert zu erhalten, und dann die Werte teilweise hinzuzufügen, bis der Schwellenwert erreicht ist. –