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)
Bạn có thể thử các giải pháp sau:
Giải pháp 1:
df = df[ ['mean'] + [ col for col in df.columns if col != 'mean' ] ]
Giải pháp 2:
df = df[['mean', 'x', 'y', 'z']]
Giải pháp 3:
col = df.pop("mean")
df = df.insert(0, col.name, col)
Giải pháp 4:
df.set_index(df.columns[-1], inplace=True)
df.reset_index(inplace=True)
Giải pháp 5:
cols = list(df)
cols = [cols[-1]] + cols[:-1]
df = df[cols]
giải pháp 6:
order = [1,2,3,0] # setting column's order
df = df[[df.columns[i] for i in order]]
So sánh thời gian:
Giải pháp 1:
Thời gian CPU: người dùng 1,05 ms, sys: 35 Lời, tổng cộng: 1,08 ms Thời gian trên tường: 995 lượt
Giải pháp 2 :
Thời gian CPU: người dùng 933 Phát, sys: 0 ns, tổng cộng: 933 Bangs Thời gian trên tường: 800 bài
Giải pháp 3 :
Thời gian CPU: người dùng 0 ns, sys: 1,35 ms, tổng: 1,35 ms Thời gian trên tường: 1,08 ms
Giải pháp 4 :
Thời gian CPU: người dùng 1,23 ms, sys: 45 Lời, tổng cộng: 1,27 ms Thời gian trên tường: 986 lượt
Giải pháp 5 :
Thời gian CPU: người dùng 1,09 ms, sys: 19 sự kiện, tổng cộng: 1,11 ms Thời gian trên tường: 949
Giải pháp 6 :
Thời gian CPU: người dùng 955 lượt, sys: 34 lượt, tổng: 989 lượt Thời gian tường: 859 lượt