按给定的列表顺序对数据帧排序

2024-06-07 12:59:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据框,其中一行包含人的名字。 现在我想对数据帧按名称排序,但不是按字母顺序,而是按给定的顺序。例如,我想按以下顺序对名称行上的数据帧进行排序:

L = ['marc','paul','beck','julia','rest']

如果我有一个数据框,其中包含一行的名字,我希望marc的在顶部,然后paul的,beck的等等

如何在python中实现这种时间效率?你知道吗


Tags: 数据名称rest排序顺序字母时间marc
2条回答

如果需要按列对数据重新排序,请将所有值转换为ordered categoricals,以便^{}

df = pd.DataFrame({'A':['paul','paul','julia','marc','paul','beck','beck','julia']})

L = ['marc','paul','beck','julia','rest']

df['A'] = pd.CategoricalIndex(df['A'], ordered=True, categories=L)

df = df.sort_values('A')
print (df)
       A
3   marc
0   paul
1   paul
4   paul
5   beck
6   beck
2  julia
7  julia
L = ['marc','paul','beck','julia','rest']
df=pd.DataFrame()
df['L']=L

这将为您提供:

    L
0   marc
1   paul
2   beck
3   julia
4   rest

马克·保罗·贝克,顺序正确。你知道吗

相关问题 更多 >

    热门问题