automatisches Wörterbuch in Python

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
lambkin
User
Beiträge: 17
Registriert: Dienstag 22. Mai 2018, 08:29

Gibt Ich habe ein Dataframe und die Spalte die ich gerne bearbeiten würde enthält 140 verschiedene Einträge. Ich möchte den Einträgen numerische Werte zuordnen, also 140 numerische Werte, die jeweils eine Kategorie darstellen, um danach mit den Werten weiterarbeiten zu können. Manuell wüsste ich wie man ein Wörterbuch dazu erzeugt, aber das wäre ja schon ein etwas höherer Aufwand bei so vielen Einträgen. Gibt es denn eine Möglichkeit, dies effektiver zu machen?
Benutzeravatar
pillmuncher
User
Beiträge: 1484
Registriert: Samstag 21. März 2009, 22:59
Wohnort: Pfaffenwinkel

Wie kommst du darauf, dass 140 Einträge in einem Wörterbuch viel sei?
In specifications, Murphy's Law supersedes Ohm's.
lambkin
User
Beiträge: 17
Registriert: Dienstag 22. Mai 2018, 08:29

Ich weiß ja nicht, wie es dir geht, aber ich würde lieber eine Funktion dafür haben, als 140 Wörterbucheinträge manuell zu erledigen.... wenn ich jetzt 140.000 hätte, würde ich ja auch nicht auf die Idee kommen, da manuell vorzugehen..also warum sollte ich es bei 140 tun?
Benutzeravatar
pillmuncher
User
Beiträge: 1484
Registriert: Samstag 21. März 2009, 22:59
Wohnort: Pfaffenwinkel

Dafür hat der Liebe Gott for-loops erfunden.
In specifications, Murphy's Law supersedes Ohm's.
Benutzeravatar
__blackjack__
User
Beiträge: 13069
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@lambkin: Ich denke hier liegt ein Missverständnis vor. Pillmuncher ging bei „manuell“ sicher davon aus das mit ”reinem” Python gemeint war, ohne eine vorgefertigte Funktion von `pandas` und nicht wirklich per Hand ein Wörterbuch mit 140 Einträgen anzulegen.

So auf Anhieb würde mir `unique()` einfallen um die Werte aus der Spalte zu bekommen, daraus dann ein Wörterbuch erstellen und dann das mit Panda's `map()`-Methode verwenden um die Daten in der Spalte zu tauschen.

Ansonsten: Musst Du das tatsächlich durch nichtssagende numerische Werte ersetzen, oder bekommst Du durch eine Spalte vom Typ `Category` schon was Du brauchst? Schau Dir mal das Kapitel Categorical Data an. Auch da kannst Du die Werte durch einen Zahlenindex mit `Category.cat.rename_categories()` ersetzen wenn Du das magst/brauchst.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Antworten