Text in dataframe-Spalte auf zwei neue Spalten aufteilen

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
STBvM
User
Beiträge: 7
Registriert: Montag 20. Januar 2020, 20:59

Hallo und guten Tag,
Habe mir zwar schon Grundlagen von Python angeeignet, stehe aber grad aufm Schlauch.

Ich habe eine Exceltabelle in ein dataframe importiert - funktioniert.

Im dataframe gibt es u.a. eine Spalte „JahrPeriode“, die zB einen Wert „2020.01“ enthält und als float formatiert ist. Das habe ich geändert auf str/object - funktioniert auch.

Nun zu meiner Frage: ich möchte aus der einen Spalte „JahrPeriode“ nun zwei Spalten „Jahr“ und „Periode“ erzeugen, die jeweils einen Teilstring aus der Spalte „JahrPeriode“ enthalten. In Spalte „Jahr“ soll am Ende der Integer-Wert „2020“ stehen und in der Spalte „Periode“ der Integer-Wert „1“.
Aus „2020.01“ wird also „2020“ und „1“ in zwei neuen Spalten.

Wie geht das?

BestenDank

Grüße#Bodo
Sirius3
User
Beiträge: 18216
Registriert: Sonntag 21. Oktober 2012, 17:20

Das kann man über ein paar einfache Operationen machen:

Code: Alles auswählen

jahr, periode = divmod(round(dataframe['JahrPeriode']*100).astype(int), 100)
STBvM
User
Beiträge: 7
Registriert: Montag 20. Januar 2020, 20:59

Besten Dank, Sirius3. Funktioniert.
Habe nur noch folgendermaßen angepasst:

Code: Alles auswählen

dataframe[’Jahr’], dataframe[’Periode’] = divmod(round(dataframe['JahrPeriode']*100).astype(int), 100)
Grüße#Bodo
Antworten