df.reindex(columns=reversed(df.columns))
是按列反转pandas.DataFrame
的最快方法吗?
最佳答案
一个想法-将DataFrame.iloc
与索引一起使用:
df = df.iloc[:, ::-1]
性能:
np.random.seed(234)
df = pd.DataFrame(np.random.randint(10, size=(3, 10000))).rename(columns=str)
#print (df)
In [225]: %timeit df.reindex(columns=reversed(df.columns))
7.32 ms ± 166 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
In [226]: %timeit df.iloc[:, ::-1]
132 µs ± 6.02 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)
#vdkotian solution
In [227]: %timeit df[df.columns[::-1]]
2.84 ms ± 60.7 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)