【发布时间】:2021-10-09 04:48:33
【问题描述】:
感谢任何关于如何根据 pandas 中的倍数列表对给定的多列进行排序的提示,如下所示
import pandas as pd
sort_a=['a','d','e']
sort_b=['s1','s3','s6']
sort_c=['t1','t2','t3']
df=pd.DataFrame(zip(['a', 'e', 'd','a','a','d','e'], ['s3', 's1', 's6','s6','s3','s3','s1'], ['t3', 't2', 't1','t2','t2','t3','t3']),columns=["a", "b", "c"])
使用排序列,例如a,c,d
这个想法类似于sort
df.sort(['a', 'c', 'd'], ascending = [sort_a, sort_c, sort_b])
预期输出
a b c
a s3 t2
a s3 t3
a s6 t2
d s3 t3
d s6 t1
e s1 t2
e s1 t3
【问题讨论】:
-
请添加您的预期输出。我的输出可能不是你想要的
-
嗨@sammywemmy,我已更改
df以反映3sort_list的用例。您的建议仍然有效