import numpy as np
import pandas as pd
df = pd.DataFrame()
column_names = ['x','y','z','mean']
for col in column_names:
df[col] = np.random.randint(0,100, size=10000)
Sie können folgende Lösungen ausprobieren:
Lösung 1:
df = df[ ['mean'] + [ col for col in df.columns if col != 'mean' ] ]
Lösung 2:
df = df[['mean', 'x', 'y', 'z']]
Lösung 3:
col = df.pop("mean")
df = df.insert(0, col.name, col)
Lösung 4:
df.set_index(df.columns[-1], inplace=True)
df.reset_index(inplace=True)
Lösung 5:
cols = list(df)
cols = [cols[-1]] + cols[:-1]
df = df[cols]
Lösung 6:
order = [1,2,3,0] # setting column's order
df = df[[df.columns[i] for i in order]]
Zeitvergleich:
Lösung 1:
CPU-Zeiten: Benutzer 1,05 ms, System: 35 µs, Gesamt: 1,08 ms Wandzeit: 995 µs
Lösung 2 :
CPU-Zeiten: Benutzer 933 µs, System: 0 ns, Gesamt: 933 µs Wandzeit: 800 µs
Lösung 3 :
CPU-Zeiten: Benutzer 0 ns, System: 1,35 ms, Gesamt: 1,35 ms Wandzeit: 1,08 ms
Lösung 4 :
CPU-Zeiten: Benutzer 1,23 ms, System: 45 µs, Gesamt: 1,27 ms Wandzeit: 986 µs
Lösung 5 :
CPU-Zeiten: Benutzer 1,09 ms, System: 19 µs, Gesamt: 1,11 ms Wandzeit: 949 µs
Lösung 6 :
CPU-Zeiten: Benutzer 955 µs, System: 34 µs, Gesamt: 989 µs Wandzeit: 859 µs