Das ist so ein einfaches Konzept, aber überraschenderweise konnte ich keine Threads darauf finden. Grundsätzlich bin ich neugierig, ob es einen Operator/eine Transformation gibt, die effektiv einen Teil der auf Null zentrierten Zahlenzeile entfernt.Teil der Zahlenzeile entfernen - aka Ursprung Übersetzung in beide Richtungen
Nehmen wir zum Beispiel an, wir haben eine Liste: x = [1, 2, -1, -2]
und möchten die Transformation anwenden. Wenn der Schrumpf bei 1,5 auftritt, dann wäre die Ausgabe out = [0.0, 0.5, 0.0, -0.5]
macht das Sinn? Entsprechender Code ist unten gezeigt, ich bin nur neugierig, ob es einen aktuellen Namen für diese & einen bestehenden Betreiber gibt.
def operator(list, shrinkValue):
# assume it's numpy list
sign = np.sign(list)
list -= sign * shrinkValue # translate towards zero
idx = (sign * list) < 0.0 # get indices that passed the new zero
list[idx] = 0.0
return list
würde nicht eine Zahl um 1,5 schrumpfen, wie die Nummer eins würde es ergeben "-0,5"? – Cyzanfar
Nicht sicher über einen Namen, aber hier ist eine einzeilige Version davon, wenn es hilft - '[max (ist, 0) wenn i> 0 sonst min (i + s, 0) für i in x]' – Peter
@Cyzanfar die Punkt ist, dass es in Null absorbiert wird – Toby