在Pandas Read_CSV中使用UseCols时,以指定的顺序保留列

ABu*_*kov 16 python dataframe pandas

我有一个包含50列数据的csv文件.我使用Pandas read_csv函数来引入这些列的子集,使用usecols参数选择我想要的:

cols_to_use = [0,1,5,16,8]
df_ret = pd.read_csv(filepath, index_col=False, usecols=cols_to_use)
Run Code Online (Sandbox Code Playgroud)

问题是df_ret包含正确的列,但不是我指定的顺序.它们是按升序排列的,所以[0,1,5,8,16].(顺便说一下,列号可以在运行之间改变,这只是一个例子.)这是一个问题,因为其余的代码都有"正确"顺序的数组,我宁愿不必重新排序所有他们

是否有任何聪明的熊猫按指定的顺序拉入列?任何帮助将非常感激!

Max*_*axU 11

您可以重复使用相同的cols_to_use列表来按所需顺序选择列:

df_ret = pd.read_csv(filepath, index_col=False, usecols=cols_to_use)[cols_to_use]
Run Code Online (Sandbox Code Playgroud)