在dask数据框中建立一个组合的列用于排序

时间:2018-08-31 09:10:21

标签: python pandas sorting apply dask

Sorting in Dask

基于此答案,我想动态构建组合列

df_post['sort_column'] = df_post.apply(lambda r:str([r[col1],r[col2],r[col3]]), axis=1)
df_post = df_post.set_index('sort_column')
df_post = df_post.map_partitions(lambda x: x.sort_index())

基于配置文件提供的列列表,我无法找到一种使此[r [col1],r [col2],r [col3]]动态化的方法。

1 个答案:

答案 0 :(得分:0)

要说出问题的实质是很棘手的,但是假设问题是“我想在链接的答案中应用该解决方案,但要使用列名列表”。看起来像

df_post['sort_column'] = df_post.apply(lambda r:str([r[c] for c in columns]), axis=1)
df_post = df_post.set_index('sort_column')
df_post = df_post.map_partitions(lambda x: x.sort_index())

其中columns是事先从配置文件获得的。