WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Buchstaben-Categorical durch definierte def. Zahl ersetzen

 

alm0389
Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 03.08.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.12.2019, 12:52     Titel: Buchstaben-Categorical durch definierte def. Zahl ersetzen
  Antworten mit Zitat      
Hallo zusammen,

ich habe einen großen Datensatz (100Mio Zeilen) welche ich als Table einlade. Gewisse Vektoren sind mit Doubles bestückt, andere mit Buchstaben gefüllte Categoricals. Damit ich damit besser rechnen kann, möchte ich gerne diese Categoricals durch doubles ersetzen.

Ich habe schon eine Liste mit mit einem "Übersetzungsprotokoll" jedoch fehlt mir aktuell ein smarter Weg wie ich 4 Spalten in den 100 Mio zeilen schnell ersetzen kann.

Categorical_alt
ABC
ABC
DEF
DEF
GHI
..
davon noch 100 Mio Zeilen

Das Übersetzungsprotokoll schaut wie folgt aus
1 ABC
2 DEF
3 GHI
davon gibt es 8000 verschiedene Übersetzungseinträge

Was dabei rauskommen soll:

double_neu =
1
1
2
2
3
..
davon noch 100 Mio Zeilen


Bisher war mein Ansatz wie folgt:

Code:

double_neu = [];
for i = 1:length(Categorical_alt)
    for ii = 1:length(Übersetzungsprotokoll)
        if Categorical_alt(i) == Übersetzungsprotokoll(ii)
            double_neu(i) = ii;
        else
        end
    end
end


Für 2000 Zeilen hat dies bereits 5 Min gedauert. Dies muss wie gesagt für 100 Mio Zeilen an vier Spalten durchgeführt werden. Gibt es eine schnellere Methode?


Beste Grüße
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.435
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.12.2019, 14:27     Titel:
  Antworten mit Zitat      
Hallo,

wozu denn das ganze?
Mit double kannst du categoricals direkt in solche Zahlen umwandeln.
Wie entstehen die Categoricals? Bei der Erstellung kannst du die Zuordnung auch angeben.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
alm0389
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 03.08.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.12.2019, 17:13     Titel:
  Antworten mit Zitat      
Hallo Harald,

danke für den Tipp. Ich habe etwas umgedacht und werde die Lösung so vornehmen. In der Dokumentation konnte ich jedoch nicht herausfinden, nach welchem Schema Matlab die Zahlen vergibt.
Ich erkenne da auch keine Logik, die Buchstabenkombination PS wird zu 10 TW zu 11 US zu 7?
Wie komme ich zu meinem Übersetzungprotokoll?



Beste Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.435
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.12.2019, 20:02     Titel:
  Antworten mit Zitat      
Hallo,

eine Möglichkeit könnte die Reihenfolge des Auftauchens sein.
Meine Vermutung wäre, dass das mit dem zusammenpasst, was categories zurückgibt.

Ein reproduzierbares Beispiel wäre hilfreich, damit ich mir das genauer ansehen kann.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.