感谢您提供有关如何根据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
一个选项是为每个列创建类别并进行排序:
虽然与引用列表进行排序没有直接关系,但发布此操作时的关键问题是,我想对其中包含
string
的列进行排序使用熊猫的排序_值>;=1.1.0
使用DataFrame.sort_值中的新键参数,自pandas 1.1.0以来,我们可以直接对列进行排序,而无需使用natsort.natsort_keygen将其设置为索引:
输出:
相关问题 更多 >
编程相关推荐