KDB; stripping Zeichen aus der Spalte der Symbole
Irgendwelche Ideen, wie dies zu tun, schön in KDB?
Betrachten Sie die Tabelle
X:([]a:1 2 3;b:`abc11`abc22`abc33;c:10 20 30)
Will ich jetzt eine neue Tabelle Y, das hat die "abc" entfernt die Symbole in der zweiten Spalte, so dass gilt:
Y:([]a:1 2 3;b:`11`22`33;c:10 20 30)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Streifen die ersten drei Zeichen:
Oder suchen und ersetzen:
Wenn die Tabelle groß ist und viele sich wiederholende Elemente, in Betracht ziehen .Q.fu:
Mit lambdas, wie vorgeschlagen, in die andere Antwort ist in Ordnung, aber nicht notwendig für diese Frage. Wenn etwas erreicht werden kann, mit adverbien allein, das ist in der Regel vorzuziehen.
ist kürzer und besser lesbar. Auf meinem Rechner läuft es auch doppelt so schnell.
läuft nur etwas schneller. Ich habe gegossen, die beiden wieder zu ` - symbol.
Wenn Ihre situation ist mehr allgemein und Sie möchten, entfernen Sie alles, bevor Sie Ihre erste numerische dann könnte man etwas tun, wie unten. Man könnte weiter verallgemeinern, um alle Spalten mit symbol Typ
Zugegeben, ich weiß nicht, was Ihr einrichten, aber auf meinem Rechner, das ist ziemlich schnell. Nicht annähernd so schnell wie Ihr Wörterbuch Ansatz, aber könnte sich lohnen, ein Opfer für die Allgemeinheit
Ich versucht, sowohl die erwähnte Lösung (von ryan und mollmerx) auf große Datenbank(100000 Zeilen) und ich habe folgende Ergebnisse:
ssr
dauerte rund 645ms (Durchschnitt)cut
version dauerte etwa 40 ms (durchschnittlich)Ich versuchte eine andere Lösung, die erwies sich als viel schneller. Wenn wir das Wörterbuch benutzen Verhalten einer Tabelle:
Dieser dauerte etwa 12 ms im Durchschnitt.