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:
CPU 时间:用户 1.05 毫秒,系统:35 微秒,总计:1.08 毫秒挂壁时间:995 微秒
解决方案 2:
CPU 时间:用户 933 µs,系统:0 ns,总计:933 µs
挂壁时间:800 µs
解决方案 3:
CPU 时间:用户 0 ns,系统:1.35 毫秒,总计:1.35 毫秒
挂墙时间:1.08 毫秒
解决方案 4:
CPU 时间:用户 1.23 毫秒,系统:45 微秒,总计:1.27 毫秒
挂壁时间:986 µs
解决方案 5:
CPU 时间:用户 1.09 毫秒,系统:19 微秒,总计:1.11 毫秒
挂壁时间:949 µs
解决方案 6:
CPU 时间:用户 955 µs,系统:34 µs,总计:989 µs
挂壁时间:859 µs