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)
Вы можете попробовать следующие решения:
Решение 1:
df = df[ ['mean'] + [ col for col in df.columns if col != 'mean' ] ]
Решение 2:
df = df[['mean', 'x', 'y', 'z']]
Решение 3:
col = df.pop("mean")
df = df.insert(0, col.name, col)
Решение 4:
df.set_index(df.columns[-1], inplace=True)
df.reset_index(inplace=True)
Решение 5:
cols = list(df)
cols = [cols[-1]] + cols[:-1]
df = df[cols]
Решение 6:
order = [1,2,3,0] # setting column's order
df = df[[df.columns[i] for i in order]]
Сравнение времени:
Решение 1:
Время ЦП: пользовательский 1,05 мс, sys: 35 мкс, общее время: 1,08 мс Время ожидания: 995 мкс
Решение 2 :
Время CPU: пользовательский 933 мкс, sys: 0 нс, всего: 933 мкс Время нахождения на стенке: 800 мкс
Решение 3 :
Время CPU: пользователь 0 нс, sys: 1,35 мс, всего: 1,35 мс Время настенного режима: 1,08 мс
Решение 4 :
Время процессора: пользовательский 1,23 мс, sys: 45 мкс, общее время: 1,27 мс Время ожидания: 986 мкс
Решение 5 :
Время ЦП: пользовательский 1,09 мс, sys: 19 мкс, общее время: 1,11 мс Время ожидания: 949 мкс
Решение 6 :
Время CPU: пользовательский 955 мкс, sys: 34 мкс, общее количество: 989 мкс Время нахождения на стенке: 859 мкс