Python 如何对dask数据帧中的列重新排序

Python 如何对dask数据帧中的列重新排序,python,dask,Python,Dask,我正在生成一个dask数据帧 b = dask.bag.read_text(target_files, blocksize=None).map(_getdataframe).to_dataframe(schema_dataframe) 当前_getdataframe返回一个dict。当我对_dataframe执行操作时,列基本上是以随机顺序排列的。有没有一种方法可以从_getdataframe返回一个将导致固定列顺序的对象,或者在返回后廉价地使用列顺序?最终的列顺序是否取决于im传入的sche

我正在生成一个dask数据帧

b = dask.bag.read_text(target_files, blocksize=None).map(_getdataframe).to_dataframe(schema_dataframe)

当前_getdataframe返回一个dict。当我对_dataframe执行操作时,列基本上是以随机顺序排列的。有没有一种方法可以从_getdataframe返回一个将导致固定列顺序的对象,或者在返回后廉价地使用列顺序?最终的列顺序是否取决于im传入的schema_dataframe或.map的dict结果?

您始终可以通过智能索引对列进行重新排序:
b=b[['col1','col2',…]
。您甚至可以按字母顺序对它们进行排序:
b=b[sorted(b.columns)]
。一个明显的可能性是在
\u getdataframe
中使用
集合。orderedict
,而不是标准dict。