Seite 1 von 1

Pandas Datenmanipulation

Verfasst: Samstag 9. Mai 2020, 13:12
von Usinger
Hallo Zusammen,

ich bin ganz neu hier. Zu meiner Person ich bin Familienvater und programmier ab und zu
zu kleine Python Programme zur Datenanalyse. Bei einem dieser Programme bzw. mit den
zugrunde liegenden Daten, ist jetzt ein Problem entstanden, dass ich auch nach langer Google Suche nicht lösen konnte.

Vielleicht wisst ihr ja Rat

Kurze Beschreibung:

Ich lese mehrer CSV Datei ein und forme sie entsprechend um.

Beispiel:
data = {'Date': ['01.01.2020', '02.01.2020', '03.01.2020'],
'ShortName': ['Auto1 Juni 2020', 'Auto2 July 2021 B', 'Auto3 August 2020 B'],

Ich splitte dann das Textfeld Shortname in eigene Columns auf.

data = pd.concat([data, data['ShortName'].str.split(' ', expand=True)], axis=1)

und es erfolgt ein rename:

data.rename(columns = {list(data)[2]:'A'}, inplace=True).....usw.

Out:

Date.......................A............B...............C...........D
01.01.2020 .......Auto1......Juni..........2020
02.01.2020........Auto2......Juli...........2021.......B
03.01.2020........Auto3......August.....2020.......B

soweit so schön.

In den einzulesenden Datei stehen in der Spalte 'ShortName' aber immer mal wieder falsch angeordnete Strings drin.

Beispiel:

data = {'Date': ['01.01.2020', '02.01.2020', '03.01.2020'],
'ShortName': ['Auto1 Juni 2020', 'Auto2 July 2021 B', 'B Auto3 August 2020'],

Out:
Date.......................A............B...............C...........D
01.01.2020 .......Auto1......Juni..........2020
02.01.2020........Auto2......Juli...........2021.......B
03.01.2020............B........Auto3......August.....2020

Jetzt meine Frage an deren Lösung ich mir die Zähne ausbeisse:

Wie kann ich die Daten so manipulieren, dass der Wert B wieder am Ende steht
und die anderen Zellen eine Zelle nach links rücken.

Ich freue mich auf Hilfe.

Viele Grüsse
Christian

Re: Pandas Datenmanipulation

Verfasst: Samstag 9. Mai 2020, 16:39
von einfachTobi
Das klingt alles nach sehr viel Umbiegen. Ich würde da eher ansetzen. Warum sind die Daten mal vertauscht? Das passiert ja nicht einfach so. Warum verwendest du nicht pandas.read_csv()? Wie sieht die CSV aus?