可以使用pandas的Categorical数据类型将某一列转换为类别类型,并指定类别的顺序。然后使用sort_values函数按照指定的类别顺序进行排序。
代码示例:
import pandas as pd
# 构造数据
df = pd.DataFrame({'fruit': ['apple', 'banana', 'orange', 'apple', 'orange'],
'quantity': [3, 2, 4, 1, 2]})
# 定义类别顺序
cat_order = ['orange', 'apple', 'banana']
# 将fruit列转换为Categorical类型,并指定类别顺序
df['fruit'] = pd.Categorical(df['fruit'], categories=cat_order, ordered=True)
# 按照类别顺序进行排序
df_sorted = df.sort_values('fruit')
# 打印结果
print(df_sorted)
输出结果为:
fruit quantity
2 orange 4
4 orange 2
0 apple 3
3 apple 1
1 banana 2
可以看到,数据框已经按照定义的类别顺序进行了排序。
上一篇:按独立的分类值对数值进行子集化
下一篇:按独立行拆分/读取CSV文件