Register im Dataframe anlegen und sortieren

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
python_student
User
Beiträge: 23
Registriert: Samstag 22. Februar 2020, 13:02

Servus,
Ich möchte im Dataframe ein Register nach dem abc einfügen, mein jetziges Dataframe schaut noch so aus:

Name | P Name | rom | ram
ab____ | c_______ | 1000 | 2000
aa_____ | a______ | 3000 | 4000
ca_____ | b______ | 3000 | 4000
...

Es soll eine Spalte nach dem Alphabet hinzugefügt werden und nach einem Register sortiert werden:

Reg.| Name | P Name | rom | ram
A |aa_____ | a______ | 3000 | 4000
|ab____ | c_______ | 1000 | 2000
B | | | |
C | ca_____ | b______ | 3000 | 4000
...

Leider finde ich nirgends eine Funktion die in einer neuen Spalte das Alphabet anlegt. Oder soll ich das mit einer Schleife befüllen.
Danach habe ich das Problem wie ich die Spalte 'Name' mit dem Register anknüpfe und sortiere. Die Zeilen müssen erhalten bleiben. Sollte kein B vorkommen dann bleibt die Zeile leer.
Gibt es da vielleicht 'magische' Funktionen, die so etwas können?
Benutzeravatar
__blackjack__
User
Beiträge: 14047
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@python_student: Das klingt so ein bisschen nach einer falschen Aufgabe für einen `DataFrame` und mehr nach ”Optik”. Also das beispielsweise in der ersten Spalte die zweite Zeile leer sein soll statt das da auch ein A steht oder eine leere Zeile was bei ganzen Zahlen schwierig wird. Das beste was man bei Zahlen hinbekommen kann ist ein NaN-Wert für keine Zahl, aber nicht ”leer”.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
python_student
User
Beiträge: 23
Registriert: Samstag 22. Februar 2020, 13:02

Ich hab mal weiter geschaut. Ich denke was ich meine ist ein Multiindex. Dazu muss ich zuerst den Index Alphabetisch machen und dann dann die Alphabetische Zuordnung nach den Namen. Ist so etwas überhaupt möglich?
Benutzeravatar
__blackjack__
User
Beiträge: 14047
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@python_student: Du suchst keinen MultiIndex weil Du nicht die gleiche Anzahl von Zeilen pro Buchstaben-Indexlevel hast. Du dachtest das vielleicht weil das optisch dem nahekommt was Du suchst, aber da wären wir wieder dabei dass das eine optische Sache zu sein scheint was nicht die Aufgabe von `DataFrame` ist.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
python_student
User
Beiträge: 23
Registriert: Samstag 22. Februar 2020, 13:02

@__blackjack__
ok danke vielmals, dann werden ich wahrscheinlich anders die Aufgabe lösen müssen.
Antworten